當前位置:首頁 » 編程語言 » c語言修改數組

c語言修改數組

發布時間: 2023-09-06 20:21:43

c語言中數組的大小可以改變嗎

數組大小一旦確定就不能改變。

數組長度必須在編譯時確定,可以使用malloc函數在程序運行時動態分配所需「數組」長度。定義數組需要指定數組的長度,然後系統會根據這個長度分配固定的內存大小。

當出現intarray[10];這種情況的時候,是不可以變的,這時候變數的存儲空間在棧區。當intn;cin>>n;intarray=newint[n];的時候,數組可以根據n輸入的大小去分配內存,這時候數組存在堆區。

(1)c語言修改數組擴展閱讀

長度為0的數組在標准C和C++中是不允許的,如果使用長度為0的數組,編譯時會產生錯誤,提示數組長度不能為0。但在GNUC中,這種用法卻是合法的。

它的最典型的用法就是位於數組中的最後一項,這樣做主要是為了方便內存緩沖區的管理。如果長度為0的數組換為指針,那麼在分配內存時,需採用兩步:

1、需為結構體分配一塊內存空間;

2、再為結構體中的成員變數分配內存空間。這樣兩次分配的內存是不連續的,需要分別對其進行管理。當使用長度為0的數組時,則是採用一次分配的原則,一次性將所需的內存全部分配給它。相反,釋放時也是一樣的。

② c語言中數組的大小可以改變嗎

C語言中的
數組
,按照理解分為兩種:
1
狹義的數組,指的是以
TYPE
name[M]...;
形式
定義
的數組,也稱為
靜態數組
。靜態數組在定義的時候就確定了數組的大小,無法在運行中對其做改變。
2
廣義的數組,除靜態數組外,還包括
動態數組

動態數組的本質為指針,如
TYPE
*name;
對指針上可以用malloc等
函數
,分配內存空間,實現與靜態數組類似的操作。對於動態數組,可以使用
realloc函數

void
*
realloc(int
size,
void
*p);
重新分配
參數
p上的
內存
大小為參數size。
新返回的的地址值,可能與參數p的原始地址值不同。
該函數可以使p上可使用的內存大小調整到size
位元組
,從而實現動態數組大小的調整。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:968
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:676
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:828
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:737
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1076
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:308
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:188
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:829