本文目錄一覽:
C語言聲明數組變數時,在什麼情況上,可不指定
你是想問不指定長度嗎?不可以,c語言申請數組的時候必須指定長度。c89規定c語言子程序必須把變數聲明放在開始。不指定長度的話,你可以使用動態分配方式,用malloc為其分配空間,這個時候你需要用指針來記錄首地址,用起來和數組差不多。
C語言中可以定義不定長度的數組(即數組長度由變數確定)嗎?
不可以,數組在創建時長度已經確定了,而且創建後也無法更改數組的長度,樓上說的malloc動態申請的內存也是已確定的,你都不能在 不破壞原有數據的情況下改變其大小。
那怎麼儲存未知大小的數據呢,在儲存後怎樣能隨意的對其添加、更改、刪除、查找等一系列操作呢?只用簡單的數組肯定不行,需要用到別的數據結構,如鏈表、二叉樹等等,總有一款適合你。在大家學到數據結構與演算法的時候 ,一切難題都將迎刃而解。
最後補充一點,樓上有人說數組的長度不能用變數來確定,這是錯誤的。 C中有 變長數組 的概念呀(c99標準),「變長」的意思就是 可以用變數來指定數組的長度,而數組一旦創建 長度就無法變化了,而且變數必須賦值在先,變長數組才能創建。某些人不能因為無法正確的設置編譯器支持c99標準,而否定了 變長數組 這個用法。
C語言定義數組一定要指定大小嗎?
是的,c中數組定義時要指定大小。
當然,萬事也不是絕對的。例如:1.作為形參的時候,可以不指定,因為在函數調用的時候,數組會轉為指針的。2.當為字元串數組時,char ST[]=”hello word”這兒定義了一個ST字元數值,不需要你自己去指定大小,系統會自動生成長度為11.
原創文章,作者:FEWRE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/329457.html