C語言 怎麼銷毀陣列呢?

時間 2023-03-09 19:25:07

1樓:吉祥二進位制

要看陣列所使用的記憶體空間。

1、如果是區域性函式棧空間中的陣列,有程式自動**。

void f()

; /區域性棧空間上的陣列,程式自動**。

2、如果是動態記憶體分配 的陣列,在c語言中使用free()將其釋放。**有作業系統的堆管理器來進行操作。

void f()

2樓:匿名使用者

你定義陣列的方法是靜態的,這樣的變數是不能釋放的,如果是全域性變數,只能隨程式的結束而釋放。

如果是區域性變數,則隨著定義這個陣列的那個函式的結束而自動釋放。

如果想動態定義使用、釋放記憶體,則通過指標方式來實現:

int *pimgcanny=null ;

int (*p2)[1000] ;定義乙個陣列指標,可象使用二維陣列乙個來操作指標。

pimgcanny=malloc( 1000*1000*sizeof(int) )

p2=(int **pimgcanny ;

p2[0][0]=100;

p2[0][1]=200 ;

用完後,釋放:

free(pimgcanny);

3樓:竹竹風子

額,free是用來釋放動態陣列的吧,你可以嘗試用申請動態陣列的方法試試。

不是大鳥哈,只是略懂點c而已。

4樓:匿名使用者

你這樣的是靜態陣列,由系統自動**,無法手動操作。

c語言 陣列未知個數 怎麼宣告,C語言 陣列未知個數 怎麼宣告

風若遠去何人留 c語言在陣列個數未知的情況下,根據應用情況不同,有三種方式。1,陣列元素總數未知,但是需要儲存的內容是已知的。其實這是一種變相的已知個數,只是程式設計者不去計算總個數,把這個工作交給系統來做。這時可以通過陣列個數留空,顯式初始化陣列進行宣告。比如char s this is a te...

C語言陣列

1全部原因 你定義的a 2 2 是這樣排列的 a b c d 0 0 0 0 0 而a相當於a 0 s所以則要輸出第一行abc,因為沒有 0 結尾。所以繼續輸出d。而這是不規範的。如果你想以這樣的方式輸出字串,可以擴大範圍。a 2 2 換成a 4 4 舉例.char star 8 8 for i 0...

c語言陣列最大值 怎麼用C語言在陣列中找到最大值

求陣列中的最大值和最小值,一般使用假設法,即假設陣列的第1個元素為最大值,同時也是最小值,然後遍歷陣列,找到最大值和最小值。示例如下 include int main int max,min max min a 0 假設第1個元素即是最大值也是最小值。int max pos 0,min pos 0 ...