Create One-dimensional dynamic array
#include <stdio.h> #include <malloc.h> int main() { int a[5]; int len; int *pArr; int i; printf("请输入你要存放的数组元素的个数:"); scanf("%d",&len) ; // 本行动态的构造了一个一维数组,该一维数组的长度是len, //该数组的使用和一维静态输的使用一样 pArr = (int *)malloc(4*len); //动态分配内存空间完毕后将首地址使用pArr存储 //对一维数组进行操作, 如:对动态一位数组进行赋值 for(i = 0;i < len;i++) { scanf("%d",&pArr[i]); } //对一维数组进行输出 for(i = 0; i < len;i++) { printf("%d\n",pArr[i]); } free(pArr);//释放掉动态分配的数组 return 0; }
动态内存和静态内存的比较
静态内存是有系统自动分配,有系统自动释放
静态内存是在栈中分配的动态内存是由程序员手动分给,手动释放
动态内存是在分配的
网友评论