//使用C语言动态内存分配一块内存,并向里面写入数据
#include <stdio.h>
//需引入这个头文件,Unix可通过man malloc查看
#include <stdlib.h>
int main(){
int number;
int i;
scanf("%d",&number);
//定义一个指针
int *a;
//malloc默认返回类型是void *,强制转换为int *
a=(int *)malloc(number*sizeof(int));
for(i=0;i<number;i++){
scanf("%d",&a[i]);
}
for(i=number-1;i>=0;i--){
printf("%d\n",a[i]);
}
//释放内存空间
free(a);
return 0;
}
从哪里free(),必须要free第一个内存地址。。。
如果有p++,free(p)是会报错的!