网上冲浪 | 反毒杀毒 | 菜鸟进阶 | 网络安全 | 实用技术 | 网络安全 | 操作系统 |
工具软件 | 电脑医院 | 网上赚钱 | 网页制作 | 网络营销 | 经典教程 | IT趣 谈 |
当前位置:IT快活林快活林学院数据结构

数据结构中用malloc动态创建结点

1. 在链式存储结构, 用malloc()函数创建结点,并把它插入到链表中,这样可以很好的管理链表,并且在不用是可以释放,非常之方便.
2. 结点的使用是有危险性的,容易出现死单元,这是初学者经常见的错误,每一个malloc()必须要有free()与之对应,在调用malloc()的时候,要注意强制改变返回值的类型.如
(*S)=(SqStack *)  malloc(sizeof(SqStack));
3. 用MALLOC开辟..如果多余用FREE释放.<BR>少了用REALLOC再开辟..
4. 在链表当中,当需要一个结点时,一般用malloc来开启新的空间,为新点结点分配内在空间.
5. 大家来看看malloc的详细用法
原型:extern void *malloc(unsigned int num_bytes);
  用法:#include <malloc.h> 
  功能:分配长度为num_bytes字节的内存块
  说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
        当内存不再使用时,应使用free()函数将内存块释放。
  举例:
// malloc.c
      #include <syslib.h>
      #include <malloc.h>
      main()
      {
        char *p;   
        clrscr();        // clear screen
        p=(char *)malloc(100);
        if(p)
          printf("Memory Allocated at: %x",p);
        else
          printf("Not Enough Memory!\n");
        free(p);  
        getchar();
        return 0;
      }

[]作者:宋井华  来源:快活林原创