初学动态内存分配
?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?}
?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?}
轉載于:https://www.cnblogs.com/jssong20000/archive/2012/09/05/2671455.html
總結
- 上一篇: 从C开始,重新开始
- 下一篇: 使用Axure RP原型设计实践05,了