国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 镇坪县| 民勤县| 柯坪县| 巴马| 澄迈县| 淮滨县| 汝阳县| 广元市| 澄江县| 德江县| 浙江省| 彭山县| 普安县| 体育| 东丽区| 黄梅县| 博罗县| 阜平县| 禹州市| 文化| 开江县| 耒阳市| 那坡县| 华池县| 丹凤县| 赤壁市| 庆安县| 泽普县| 靖远县| 土默特右旗| 皋兰县| 霸州市| 邻水| 资阳市| 霍邱县| 新化县| 德江县| 桂东县| 巧家县| 汉寿县| 武鸣县|