1.malloc函数 函数原型 void*malloc(unsigned int size)
功能说明:在内存的动态存储区(堆区)中分配一块长度为size字节的连续区域,用来存放类型说明符指定的类型。函数原型返回void*指针,使用时必须用相应的强制类型转换,分配的内存空间内容不确定,一般使用memset初始化
返回值;分配空间的起始地址(分配成功) NULL (分配失败)
注意 1.在调用malloc之后,一定要判断一下,是否申请内存成功
2.如果多次malloc申请内存,第一次和第二次申请的内存不一定是连续的
#include <stdio.h>
#include <stdlib.h>
int main()
{ int* p;
int i, n;
printf("请输入你要申请的int数组的元素个数\n");
scanf_s("%d", &n, 4);//4个字节
p = (int*)malloc(n * 4);
if (p == NULL)
{
printf("malloc err\n");//malloc
return 0;
}
for (i = 0; i < n; i++)
{
p[i] = i;
}
for (i = 0; i < n; i++)
{
printf("p[%d]=%d\n", i, p[i]);
}
free(p);
return 0;
}