初学动态内存分配
1 /* 2 动态内存分配 3 传统数组的缺点: 4 1,数组长度必须事先制定,且只能是常整数,不能是变量。 5 例子: 6 7 int a[5]//ok 8 int len = 5; int a[len]//error 9 10 2,传统形式定义的数组,该数组的内存程序员无法手动释放。 11 知道函数运行结束时,数组的空间才会被系统释放。 12 13 14 3,数组的长度不能在函数运行过程中动态地扩充货缩小 15 16 17 4,A函数定义的数在A函数运行期间可以被其他函数调用, 18 19 为什么需要动态分配内存 20 动态数组很好得解决了传统数组的缺陷 21 传统数组也叫静态数组 22 23 */ 24 # include <stdio.h> 25 # include <malloc.h> 26 27 int main( void ) 28 { 29 int len; 30 int * pArr; 31 int i; 32 33 printf( " 输入数组长度\n " ); 34 scanf( " %d " ,&len); 35 pArr = ( int *)malloc( 4 * len); 36 printf( " 输入各个元素的值\n " ); 37 for (i= 0 ; i<len; i++) 38 scanf( " %d " ,&pArr[i]); 39 40