/*
动态分配
int* pArray = (int *)malloc(sizeof(int) * len);
1、malloc只有一个int类型的形参,表示请求操作系统分配的字节数。
2、malloc函数的功能是请求分配sizeof(数据类型)*len个字节的内存,如果分配成功,则返回第一个字节的地址,分配失败返回null。
3、malloc函数只能返回第一个字节的地址,所以我们必须把这个地址转化为有实际意义的地址,因此malloc前必须加(数据类型 *)来强制转化成相应类型的地址。
*/
#include<stdio.h>
#include<malloc.h>
int main() {
int Array[5] = { 1 , 2 , 3 , 4 , 5 };
int len;
printf("请输入你要求分配的数组长度:");
scanf_s("%d", &len);
int* pArray = (int *)malloc(sizeof(int) * len);
//我们可以把pArray当作一个普通数组使用
//*pArray = 4; //等价于 pArray[0] = 4
//pArray[1] = 5;
for (int i = 0; i < len; i++) {
scanf_s("%d", &pArray[i]);
}
for (int i = 0; i < len; i++) {
printf("%d\n", pArray[i]);
}
free(pArray);
}
malloc与free
最新推荐文章于 2024-01-21 08:00:00 发布