結(jié)構(gòu)體里的數(shù)組怎么初始化
結(jié)構(gòu)體也可以有構(gòu)造函數(shù),用默認(rèn)構(gòu)造函數(shù)就可以在new數(shù)組的時(shí)候初始化。如果需要成員有初始值,則需要寫構(gòu)造函數(shù),否則直接memset初始化為0即可。
第一個(gè)問(wèn)題,不能這樣初始化,需要 inflatable a={0};集合中至少需要1個(gè)元素方可作為初始化列表,專業(yè)會(huì)將name、volume、price的所有字節(jié)全部初始化為0。
結(jié)構(gòu)體是個(gè)空架子,是無(wú)法“初始化其中的數(shù)組”的,只有初始化結(jié)構(gòu)體的對(duì)象(即變量)。像你這里可以這么做:在使用這個(gè)結(jié)構(gòu)體前寫一句struct bf x={NULL,NULL,NULL,NULL};,那么x中的所有字符數(shù)組就都為空了。
結(jié)構(gòu)體數(shù)組怎么初始化
方法是在定義變量的同時(shí)給其一初始值。結(jié)構(gòu)體變量的初始化,遵循相同的規(guī)律。
結(jié)構(gòu)體也可以有構(gòu)造函數(shù),用默認(rèn)構(gòu)造函數(shù)就可以在new數(shù)組的時(shí)候初始化。如果需要成員有初始值,則需要寫構(gòu)造函數(shù),否則直接memset初始化為0即可。
第一個(gè)問(wèn)題,不能這樣初始化,需要 inflatable a={0};集合中至少需要1個(gè)元素方可作為初始化列表,專業(yè)會(huì)將name、volume、price的所有字節(jié)全部初始化為0。
數(shù)組不能通過(guò)數(shù)組名進(jìn)行等號(hào)賦值;賦值需要一個(gè)一個(gè)元素進(jìn)行,因?yàn)閿?shù)組名是一個(gè)const指針,不能更改。
可以使用循環(huán)的方式,創(chuàng)建20個(gè)對(duì)象,然后依次將所得到的指針放置到數(shù)組里面。如果你想創(chuàng)建20個(gè)堆區(qū)的對(duì)象,必須要使用20個(gè)new操作。也就是不可避免的調(diào)用20次new。
請(qǐng)問(wèn)怎么對(duì)結(jié)構(gòu)體里的數(shù)組初始化?
1、初始化列表 一個(gè)類/結(jié)構(gòu)的構(gòu)造函數(shù)可以在定義中于構(gòu)造函數(shù)體前包含一個(gè)初始化列表,用以給類/結(jié)構(gòu)的元素賦初值。
2、結(jié)構(gòu)體也可以有構(gòu)造函數(shù),用默認(rèn)構(gòu)造函數(shù)就可以在new數(shù)組的時(shí)候初始化。如果需要成員有初始值,則需要寫構(gòu)造函數(shù),否則直接memset初始化為0即可。
3、第一個(gè)問(wèn)題,不能這樣初始化,需要 inflatable a={0};集合中至少需要1個(gè)元素方可作為初始化列表,專業(yè)會(huì)將name、volume、price的所有字節(jié)全部初始化為0。
結(jié)構(gòu)體數(shù)組初始化
1、(1) 返回值 。對(duì)于初始化,僅需要將結(jié)構(gòu)體中各參數(shù)初始化不需要返回值,因此是 void 。(2) 參數(shù) 。初始化函數(shù)中需要傳入的參數(shù)。
2、結(jié)構(gòu)體也可以有構(gòu)造函數(shù),用默認(rèn)構(gòu)造函數(shù)就可以在new數(shù)組的時(shí)候初始化。如果需要成員有初始值,則需要寫構(gòu)造函數(shù),否則直接memset初始化為0即可。
3、不是inta[] 而是例如int a[10]這種。括號(hào)內(nèi)一定要有個(gè)常量數(shù)字。