C定義動態陣列

2021-06-19 11:51:44 字數 416 閱讀 2530

一、動態陣列,即根據實時變化,可以擴大陣列大小。而這個功能的實現需要用到指標和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 銷毀...