8.5.1 malloc函数 比如,分配一个长度为4字节的单元,将地址赋给整型指针p。应该如下表示: p=malloc(4); 或者 p=(int*)malloc(4); 说明: (1)在动态申请存储空间时,若不能确定存储空间所占的字节数,可以通过sizeof运算符得到。 (2)动态分配的存储空间没有名字,只能通过指针引用。 8.5 动态存储分配 例8-14下面的程序动态分配一个double型存储单元并对其赋值。阅读并理解程序。 #includestdio.h #includestdlib.h void main( ) {double *p; p = (double *)malloc(sizeof(double)); if (p==NULL) {printf(没有足够的空间\n); exit(1); } *p = 25; printf (动态分配的单元地址是:%p\n,p); printf (其中的数据是:%f\n,*p); } 8.5 动态存储分配 8.5.2 free函数 函数原型:void free(void *p) 功能:释放由指针p指向的动态分配的内存区,以便再次被分配使用。 说明:内存释放是指将p所指向内存单元的数据变成无效数据,p依然指向这块内存,为了防止该指针
原创力文档

文档评论(0)