国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

淺談C語言中結(jié)構(gòu)體的初始化

2020-01-26 16:10:53
字體:
供稿:網(wǎng)友
《代碼大全》建議在變量定義的時候進行初始化,但是很多人,特別是新人對結(jié)構(gòu)體或者結(jié)構(gòu)體數(shù)組定義是一般不會初始化,或者不知道怎么初始化。
1、初始化
復制代碼 代碼如下:

typedef struct _TEST_T {
        int i;
        char c[10];
}TEST_T;
TEST_T gst  = {1, “12345”};//可以初始化,設(shè)置i為1,s為一個字符串.
TEST_T gst  = {1};//初始化個數(shù)少于實際個數(shù)時,只初始化前面的成員。
TEST_Tgst  = {.c=“12345”};//有選擇的初始化成員。

2、復合字面量。
gst = (TEST_T){122, "1256"};//這是一個賦值語句,也可以作為初始化。可以出現(xiàn)在程序的任何地方。
當然也可以使用復合字面量來初始化:
gst = (TEST_T){.i=122, .c="123"};
3、結(jié)構(gòu)體數(shù)組
可以用多個大括號括起來:
TEST_T gst[10] = {{},{},{},{}}
也可以初始化其中的一個元素:
TEST_T gst[10] = {[2]={}, [3]={}}
也可以使用復合字面量:
TEST_T gst[10] = {[2].i=0, [3].i={}}
為什么要初始化:
1、對局部變量初始化可以防止隨機值產(chǎn)生的危害。
2、對全局變量初始化可以告訴編譯器,這是一個定義,而不是一個聲明。(如果兩個c中有相同的全局變量定義,且沒有初始化,編譯器會認為第二個是聲明而不是定義。)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 宁明县| 西平县| 鹤壁市| 北碚区| 东乡族自治县| 水城县| 晋中市| 邯郸县| 东城区| 京山县| 包头市| 忻州市| 古田县| 长宁区| 凤冈县| 旬邑县| 宜兰市| 八宿县| 灵川县| 东明县| 酒泉市| 阿坝县| 青田县| 娱乐| 黄浦区| 会泽县| 菏泽市| 泾阳县| 景宁| 新和县| 英吉沙县| 济南市| 永顺县| 贡嘎县| 台江县| 定远县| 天峻县| 霍州市| 临江市| 通榆县| 罗山县|