为了可以在程序运行时分配更多的内存,主要工具是malloc()函数;
该函数接受一个参数:所需的内存字节数。
注意:malloc()分配内存,但是不会为其赋名。但它返回动态平衡内存块的首字节地址。因此,可以把该地址赋给一个指针变量,并使用指针访问这块内存。
如何利用malloc()创建数组:声明一个指针,调用malloc(),将返回值赋给指针,使用指针访问数组元素。该指针可以是静态的或自动的。
示例代码:
p=(int*)malloc(sizeof(int)*n);
通常,malloc()要与free()配套使用。free()函数的参数是之前malloc()返回的地址,该函数释放值之前malloc()分配的内存。
so,动态分配的内存储存期从调用malloc()函数分配内存到调用free()释放内存为止。
示例代码:
#include<stdlib.h>//头文件
int*p;
int n;//元素个数
p=(int*)malloc(sizeof(int)*n);
free(p);
好的,今天对malloc()的了解就到这啦,由于我还是新手,这些是我从书里找出的关键信息,有些可能理解的不够全面,欢迎大家指出我的错误!👋