初学动态内存分配

 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     printf("您刚才输入的值为:\n");
41     for(i=0; i<len; i++)
42         printf("%d\n",pArr[i]);
43     return 0;
44 }

posted on 2012-09-05 10:11  Your Song  阅读(155)  评论(0编辑  收藏  举报

导航