动态内存分配有很多好处,可以最大限度地节省内存空间。 本文采用两种方法实现c语言中内存的动态分配,希望在阅读本文后能得到。
另一方面,直接输入数组大小支持c语言数组在C99标准中动态定义数组。
#includestdio.hintmain((intn,I; printf (请输入'字符的长度); scanf('%d ',n ); char a[n]; //这里定义为n 1的是在字符串的下标中输入无限个可乐的printf ('请输入字符); getchar (; for(I=0; in; I )扫描(“% c”,a[i]; }printf('%s ',a ); 返回0; }【运行结果】
二、malloc函数#includestdio.hint main () {int a; printf ('请输入字符串的长度); 扫描(' % d ',a ); int *pa; pa=(char* ) malloc (a* sizeof ) char ); if(pa==null ) {printf ) '内存分配失败! ' ); }printf (请输入'字符); getchar (; int i; for(I=0; ia; I )扫描(' % c ',pa i ); (for ) I=0; ia; I ) {printf('%c ',* ) paI ); }返回0; }【运行结果】
这里使用了两种方法,但这两种方法有很大的区别。 特别是在存储位置之上。