c語言如何對結構體某一成員初始化?
有以下幾種方法:
1 使用構造函數。在C++中,struct可以當做類(class)來使用,同樣支持成員函數,構造函數,析構函數。所以可以寫對應的構造函數,實現自由初始化。
2 定義時,按照成員變量位置,寫初始化列表。如struct test中有成員int a, char b, 和float c,那么初始化一個變量可以寫作struct test t1 = {100, 'A', 1.23};當初始化列表不全時,省略部分自動初始化為0,即struct test t1 = {100, 'A'};和struct test t1 = {100, 'A', 0};等效。
3 部分編譯器支持顯示成員變量初始化,如g++。如struct test t1 = {.b= 'A', .a=100};沒有涉及到的變量初始化為0.該種方式不是所有編譯器都支持,當代碼有跨平臺需求時需謹慎使用。