struct什么意思啊 C中結(jié)構(gòu)體變量為全局變量或靜態(tài)變量時(shí)才能初始化么?
C中結(jié)構(gòu)體變量為全局變量或靜態(tài)變量時(shí)才能初始化么?在ANSI制定C標(biāo)準(zhǔn)之前,正如書中所說,結(jié)構(gòu)變量(或數(shù)組)只有在全局或靜態(tài)變量時(shí)才能初始化,而局部動(dòng)態(tài)結(jié)構(gòu)變量(或數(shù)組)則不允許初始化。但是1989年
C中結(jié)構(gòu)體變量為全局變量或靜態(tài)變量時(shí)才能初始化么?
在ANSI制定C標(biāo)準(zhǔn)之前,正如書中所說,結(jié)構(gòu)變量(或數(shù)組)只有在全局或靜態(tài)變量時(shí)才能初始化,而局部動(dòng)態(tài)結(jié)構(gòu)變量(或數(shù)組)則不允許初始化。但是1989年ANSI制定的第一個(gè)C標(biāo)準(zhǔn)(通常稱為C89)規(guī)定允許初始化局部動(dòng)態(tài)結(jié)構(gòu)變量(或數(shù)組)。雖然你的書是2004年出版的,但它不符合C89的要求。太可惜了!不允許初始化本地動(dòng)態(tài)集合類型的對象(如結(jié)構(gòu)變量和數(shù)組),因?yàn)樗侍?,而且非常耗時(shí),因?yàn)槊看屋斎牒瘮?shù)時(shí)都必須初始化動(dòng)態(tài)本地變量。ANSI在制定C89標(biāo)準(zhǔn)時(shí),考慮到在使用過程中對動(dòng)態(tài)局部結(jié)構(gòu)(或數(shù)組)進(jìn)行初始化的實(shí)際需要,規(guī)定允許這種行為。