#include <stdio.h> #include <stdlib.h> int main() { int i; int *nums; //为指针分配动态的内存空间 // nums = (int *)malloc(sizeof(int)*5); 这个没有初始化 nums = calloc(5,sizeof(int)*5); //可以自己初始化 /*for(i=0;i<5;i++){ printf("请输入第%d个元素:",i+1); scanf("%d",nums+i); }*/ nums[3] = 44; printf("\n"); for(i=0;i<5;i++){ printf("%d\t",*(nums + i)); } free(nums); //释放内存空间 --释放后的指针必须是初始分配的地址 进行运算后需要恢复 nums = NULL; //良好的编程习惯 return 0; } 文章来源: C语言--动态分配内存空间的使用方法