我正在瀏覽一些C代碼。其中有些難以理解。例如,下列分配做什麼:瞭解C語言中的語句
MY_TYPE my_var[3]={0};
MY_TYPE
是一些定點算術類型。我還沒有遇到與[]
括號相關的變量和與{}
左右的值。
這太容易了,我想。那麼,什麼是優勢定義
my_type my_var[3]={0};
在這個的:
my_type my_var[3];
我正在瀏覽一些C代碼。其中有些難以理解。例如,下列分配做什麼:瞭解C語言中的語句
MY_TYPE my_var[3]={0};
MY_TYPE
是一些定點算術類型。我還沒有遇到與[]
括號相關的變量和與{}
左右的值。
這太容易了,我想。那麼,什麼是優勢定義
my_type my_var[3]={0};
在這個的:
my_type my_var[3];
它創建MY_TYPE
類型的數組my_var
是大小3並初始化爲全0(我懷疑MY_TYPE
是某種整數類型)。請注意,其他初始化只需要一次初始化即可。
另外請注意,如果你聲明全局數組而不是在一個塊內,那麼它將被自動初始化,並且這個MY_TYPE my_var[3];
就足夠了。
這3個元素的數組都初始化爲0
MY_TYPE my_var[3]={0};
陣列my_var
初始化爲:
my_var [0] = 0; my_var [1] = 0; my_var [2] = 0;
它的3個元素的一個維數組,初始化爲0。從技術上講,在初始化數組的一個元素,所有其他的元素自動初始化爲0。
SO 3個元素與3個指標:
my_var[0]=0;
my_var[1]=0;
my_var[2]=0;
My_TYPE
可以是int
,char
或任何其他數據類型。 我希望這可以幫助。
閱讀關於陣列的更多的位置:http://www.cplusplus.com/doc/tutorial/arrays/
my_var[3]
是MY_TYPE
類型的變量,其可以存儲相同類型的三個值(以及稱爲陣列)。 大括號{}
在這裏用作初始化程序。 my_var[3] = {0}
將其第一個元素初始化爲0
。其中的第一個元素被自己初始化爲零。
MY_TYPE my_var[3];
在內存中爲MY_TYPE
保留三個空間。鑑於;
MY_TYPE my_var[3] = {0};
將所有這三個空格初始化爲0
。
我刪除了我的答案...你說的是正確的...我不知道的一點細微差別,謝謝你糾正我。我認爲這將是一個很好的補充,在這裏你的答案... – Jimbo
哈哈謝謝,我只是想自己也添加它:) – Nobilis
第二段+1。 – haccks