動態記憶體分配舉例_動態一維陣列的構造
阿新 • • 發佈:2019-02-08
# include <stdio.h>
# include <malloc.h>
void main(void)
{
int len,i, *p;
printf("輸入要存放元素的個數:");
scanf("%d", &len); //輸入長度構造動態一維陣列
p = (int *)malloc(sizeof(int)*5);
for(i=0; i<len; ++i)
scanf("%d",(p+i)); // p+i等同於&p[i];
// 將動態一維陣列p的長度增加至6,並將第6個元素賦值為100;
realloc(p,sizeof(int)*6);//realloc重新增加或減少一維陣列的長度;
p[5] = 99;
printf("輸出內容:\n");
for(i=0; i<=len; ++i)
printf("%-5d", p[i]); //p[i]等同於*(p+i);
printf("\n");
}
/*執行結果如下:
--------------------------
輸入要存放元素的個數:5
11 22 33 55 66
輸出內容:
11 22 33 55 66 99
--------------------------
*/