一、動態陣列,即根據實時變化,可以擴大陣列大小。而這個功能的實現需要用到指標和malloc和realloc函式。
int *a = (int*)malloc(10*sizeof(int));那麼 a就相當於乙個有10個元素的陣列。當資料量超過10個放不下的時候,利用
a = (int*)realloc(a, 20*sizeof(int));//意思是把a的大小增加到20,而保持原來已有的資料不變。
上面的函式要包含
#include
或#include
#include
這跟編譯環境有關
二、使用malloc函式,
要包含標頭檔案 #include
int *p = (int *)malloc(5*sizeof(int));
這就相當於 int p[5];
C語言定義動態陣列
今天在unbutu寫一道簡單的約瑟夫環的問題 有n個人,迴圈報數,報到3的人淘汰,求最後剩下的人,我就想定義乙個動態陣列來記錄他們是否被淘汰 如果淘汰了就把他對應陣列中的值改為0,淘汰n 1個人之後,陣列中值為1的人就是最後剩下的人。int n printf 請輸入總人數 n scanf d n i...
關於C 動態定義陣列
首先 為什麼需要動態定義陣列呢?這是因為,很多情況下,在預編譯過程階段,陣列的長度是不能預先知道的,必須在程式執行時動態的給出 但是問題是,c 要求定義陣列時,必須明確給定陣列的大小,要不然編譯通不過 如 int array 5 正確 int i 5 int array i 錯誤 因為在編譯階段,編...
定義動態陣列
開闢一維陣列m 8 int t new int m 開闢一維動態陣列,相當於t m int t new int 8 開闢乙個空間為8的整型陣列空間 int t new int 8 開闢了乙個整型且賦值為8的空間 int t new int 開闢單變數位址空間,即將int型別的空間位址賦給指標t 銷毀...