struct什么意思啊 C中結構體變量為全局變量或靜態(tài)變量時才能初始化么?
C中結構體變量為全局變量或靜態(tài)變量時才能初始化么?在ANSI制定C標準之前,正如書中所說,結構變量(或數組)只有在全局或靜態(tài)變量時才能初始化,而局部動態(tài)結構變量(或數組)則不允許初始化。但是1989年
C中結構體變量為全局變量或靜態(tài)變量時才能初始化么?
在ANSI制定C標準之前,正如書中所說,結構變量(或數組)只有在全局或靜態(tài)變量時才能初始化,而局部動態(tài)結構變量(或數組)則不允許初始化。但是1989年ANSI制定的第一個C標準(通常稱為C89)規(guī)定允許初始化局部動態(tài)結構變量(或數組)。雖然你的書是2004年出版的,但它不符合C89的要求。太可惜了!不允許初始化本地動態(tài)集合類型的對象(如結構變量和數組),因為它效率太低,而且非常耗時,因為每次輸入函數時都必須初始化動態(tài)本地變量。ANSI在制定C89標準時,考慮到在使用過程中對動態(tài)局部結構(或數組)進行初始化的實際需要,規(guī)定允許這種行為。