結(jié)構(gòu)體變量初始化為0 結(jié)構(gòu)體的成員全部初始化為0,這樣的語句是合法的嗎?
結(jié)構(gòu)體的成員全部初始化為0,這樣的語句是合法的嗎?所有成員變量的值都是0?Char[10]“0”,int是0,struct node*是null,對(duì)嗎?聲明為全局?jǐn)?shù)量時(shí),它將自動(dòng)初始化為上述值。如果要
結(jié)構(gòu)體的成員全部初始化為0,這樣的語句是合法的嗎?
所有成員變量的值都是0?Char[10]“0”,int是0,struct node*是null,對(duì)嗎?聲明為全局?jǐn)?shù)量時(shí),它將自動(dòng)初始化為上述值。如果要初始化為其他值,則必須在花括號(hào)中填充一組相應(yīng)的值。或者在程序開始時(shí),用循環(huán)語句指定初始值。
C 結(jié)構(gòu)體如何初始化?
結(jié)構(gòu)也可以有構(gòu)造函數(shù),可以用默認(rèn)構(gòu)造函數(shù)在新數(shù)組中初始化。
如果成員需要有初始值,則應(yīng)編寫構(gòu)造函數(shù)。否則,memset可以初始化為0。
參考如下:
struct_uuTaga
{
int a1
tagA()]{a1=1}}a[100
用結(jié)構(gòu)體定義任意大小的數(shù)組初始值為0?
沒有現(xiàn)成的方法,只能寫一個(gè)函數(shù)來判斷。
除了字符數(shù)組,還有strlen函數(shù)。讓我們舉一個(gè)簡單的例子:inta[10]={0}a是一個(gè)整數(shù)數(shù)組。初始值都是0。假設(shè)賦值過程中不會(huì)出現(xiàn)0的值。這樣,就可以編寫一個(gè)函數(shù)來循環(huán)判斷數(shù)組元素(看它是否等于0)并檢測(cè)實(shí)際賦值的元素?cái)?shù)。當(dāng)擴(kuò)展到結(jié)構(gòu)數(shù)組時(shí)也是如此。你需要確定你認(rèn)為一個(gè)元素是否被賦值的方法。