數(shù)據(jù)結(jié)構(gòu),聯(lián)合和列舉(Structures, Unions, and Enumerations)

返回

枚舉類型(enum)例子

#include <stdio.h> int main(void) { enum types {BLUE, BLACK, RED, YELLOW, WHITE} color; int i, int2; color = BLUE; printf("color=>%d\n", color); printf("BLACK=>%d\n", BLACK); int2 = YELLOW; printf("int2 =>%d\n", int2); for (i=BLUE; i<=WHITE; i++) printf("i=>%d\n", i); return 0; } /* 執(zhí)行結(jié)果 color=>0 BLACK=>1 int2 =>3 i=>0 i=>1 i=>2 i=>3 i=>4 */

數(shù)據(jù)結(jié)構(gòu)程序例子

#include <stdio.h> #include <string.h> struct jiage { int dinjia; int jianjia; int yudai; }; typedef struct goods { char name[30]; struct jiage kakaku; int kucun; } goods; int main(void) { goods syo; goods *sp = &syo; strcpy(syo.name,"PC486-3"); syo.kakaku.dinjia = 19000; syo.kakaku.jianjia = 18000; syo.kakaku.yudai = 17200; syo.kucun = 136; printf("GOODS :%s\n", sp->name); printf("Dingjia:%d\n", sp->kakaku.dinjia); printf("Jianjia:%d\n", sp->kakaku.jianjia); printf("Yu--dai:%d\n", sp->kakaku.yudai); printf("Ku--cun:%d\n", sp->kucun); return 0; } /* 運(yùn)行結(jié)果 GOODS :PC486-3 Dingjia:19000 Jianjia:18000 Yu--dai:17200 Ku--cun:136 */ 以下兩個(gè)宣言的區(qū)別是什么? struct x1 {...}; typedef struct {...} x2; 前者是一個(gè)結(jié)構(gòu)宣言;后者是一個(gè)"typedef"。 參照時(shí),前者用"struct x1";后者用"x2"。
#include <stdio.h> typedef struct Styp { char ss[80]; int nn; } Styp; struct Styp s1 = {"Test for typedef",100}; int main(void) { printf("s1 = %s\n", s1.ss); printf("n1 = %i\n", s1.nn); return 0; } /* s1 = Test for typedef n1 = 100 */
返回
贺兰县| 满城县| 墨江| 黄梅县| 通渭县| 柳州市| 苍梧县| 烟台市| 龙游县| 射阳县| 浪卡子县| 宝坻区| 噶尔县| 长岛县| 江川县| 新建县| 车致| 德阳市| 沈阳市| 天气| 铁力市| 榆林市| 雷州市| 司法| 丹棱县| 深州市| 东乡县| 新邵县| 娄烦县| 海林市| 驻马店市| 阿瓦提县| 富顺县| 江达县| 甘孜| 石河子市| 静海县| 离岛区| 乌兰察布市| 仪陇县| 龙泉市|