我搜索了四周,還沒有找到答案。我想知道的是:常量數組的默認值(當並非所有的索引都被明確設置)?
如果我宣佈一個static unsigned char const ARRAY[256] = { [0] = <some_value> };
, 我能想到的不確定因素(在這種情況下,所有,但在指數0
元素),以有一定的價值,否則將是隨機的?
我需要這個了,不會有充滿所有元件的恆查找表,但不是太大,所以浪費了一些空間是沒有問題的。
建議更合適的數據類型或約定的歡迎。
謝謝!
我搜索了四周,還沒有找到答案。我想知道的是:常量數組的默認值(當並非所有的索引都被明確設置)?
如果我宣佈一個static unsigned char const ARRAY[256] = { [0] = <some_value> };
, 我能想到的不確定因素(在這種情況下,所有,但在指數0
元素),以有一定的價值,否則將是隨機的?
我需要這個了,不會有充滿所有元件的恆查找表,但不是太大,所以浪費了一些空間是沒有問題的。
建議更合適的數據類型或約定的歡迎。
謝謝!
陣列的其餘部分將被初始化爲零。
此外,您可以初始化數組中的多個元素,例如:
char arr[10] = {1, 2, 3};
將創建和初始化數組ARR到:
index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
---------------------------------------------
value | 1 | 2 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0
如果你想明確一下,你正在使用的GNU C,總是有...
:
char array[256] = {[0 ... 255] = 0, [7] = 'f',/*and so on...*/};
不,沒有*總是*'...'。這是一個gcc特定的擴展,而不是該語言的一部分。 –
你是對的;編輯修復。 – Dave
使用範圍爲0是多餘的,但對於其他值可能有用。 – u0b34a0f6ae
謝謝你,現在我可以放心地走我的路。 :) – Matej