大侠,对一个基本 malloc 语句的分析,急求!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/16 19:59:05
int n, i, *p, *q;
printf("Input n=");
scanf("%d\n", &n);
p = (int *)malloc(n * sizeof(int));就是这一句!!解释一下!
最好每一个代码都解释一下! 先在这里谢谢了!

int n, i, *p, *q; /*定义4个int型变量,p,q为指针*/
printf("Input n="); /*显示输入提示*/
scanf("%d\n", &n); /*输入n的值*/
p = (int *)malloc(n * sizeof(int));
sizeof(int)计算int所需要的字节空间
n * sizeof(int),计算n个int所需要的字节空间
(int *)强制转换为指针类型
(int *)malloc(n * sizeof(int));分配n个空间,空间大小为n个int所需要的字节空间,并强制转换为int指针类型
p = (int *)malloc(n * sizeof(int));把分配好的空间分配给p