動態分配一維陣列

2021-08-16 10:11:48 字數 452 閱讀 8372

很多時候,在需要用陣列來記錄一些資料的時候,對於陣列的長度我們都是往最大的需求去取,但其實對於很多的輸入,陣列申請的內存在很多時候浪費了很多。我們可以用malloc來動態的為陣列分配記憶體。例如下例,輸入乙個數字(小於1000000),輸出數字範圍之內的乙個數,這個數必須是兩個數的平方和(包含0);

#include #include #include typedef struct *array,num;

#define length (array)malloc(sizeof(num)*number)

int main(void)

}} for(i=0;iprintf("%d + %d = %d\n",head[i].first,head[i].second,head[i].sum);

free(head);

return 0;

}

動態分配二維陣列

1.c語言動態分配二維陣列 1 已知第二維 code 1 char a n 指向陣列的指標 a char n malloc sizeof char m printf d n sizeof a 4,指標 printf d n sizeof a 0 n,一維陣列 free a 2 已知第一維 code ...

動態分配二維陣列

原文摘自 假設我需要乙個nrows ncolumns陣列,則可以用以下幾種方法動態分配空間 1.動態陣列的成員都可以用正常的陣列下標 array i j include include void main printf n free array 2.讓陣列的內容連續,但在後來重新分配列的時候會比較困...

動態分配二維陣列

眾所周知,每乙個二維陣列有n行個二級指標指向陣列的每一行,每一行有m個一級指標指向陣列的每乙個元素。因此,我們動態分配二維陣列只要分配n個二級指標,n m個一級指標就行了,先來看乙個常用的方法 int i,p int malloc row sizeof int for i 0 i但這個方法每次分配指...