當前位置:首頁 » 編程語言 » 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
位元組
,從而實現動態數組大小的調整。

熱點內容
舞蹈培訓源碼 發布:2025-03-12 13:34:04 瀏覽:740
電腦與伺服器之間快速傳輸文件 發布:2025-03-12 13:26:55 瀏覽:954
ftp上的文件在伺服器 發布:2025-03-12 13:26:53 瀏覽:415
linux關閉445埠 發布:2025-03-12 13:20:47 瀏覽:218
加密語句表情 發布:2025-03-12 13:17:36 瀏覽:820
電腦伺服器響應不了 發布:2025-03-12 13:16:02 瀏覽:896
vmwarenat外網訪問 發布:2025-03-12 13:06:31 瀏覽:46
紅魔三哪個安卓系統最穩定 發布:2025-03-12 13:01:45 瀏覽:302
arm嵌入式linux系統 發布:2025-03-12 13:01:45 瀏覽:491
伺服器組播地址 發布:2025-03-12 13:00:55 瀏覽:267