C语言中内存申请函数

    科技2022-07-11  91

           在数据结构C中线性表的顺序存储和数组很类似,用一块连续的内存来存储数据,C中有动态申请内存函数malloc,这个函数前后都要参数,从下面程序中就能看到,首先要在前面用(类型 *)的格式来指明它指向的类型内存,后面是申请内存的大小,长度*类型大小。

          还有指针指向这块内存后,这个指针就是个数组了,当作数组就可以,例如赋值操作point[0]=0,可以通过访问下标来获取修改数据。在通过for循环和指针给内存赋值时候尽量使用下例中的方式*(point+i)这样不是移动指针,是直接访问第几个地址,就不用把指针恢复到首地址了。

         最后,要释放内存,可能在PC上没感觉但是在嵌入式设备上影响就很大了。

    代码:

    #define length_list 10 #include<stdio.h> void main() { int *point,i; //申请内存 point=(int *)malloc(length_list*sizeof(int)); printf("%d\n",point); //循环赋值 for(i=0;i<length_list;i++) { *(point+i)=i; } //打印输出地址 for(i=0;i<length_list;i++) { printf("%d\n",point[i]); } printf("%d",point); getchar(); //释放内存 free(point); point=NULL; }

     

    Processed: 0.039, SQL: 8