數(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 */
返回
鄂温| 且末县| 庆云县| 庆阳市| 鄂托克前旗| 江永县| 屏东市| 淄博市| 石林| 厦门市| 马山县| 南郑县| 绥滨县| 莱西市| 离岛区| 宁乡县| 磴口县| 恩施市| 礼泉县| 文水县| 东港市| 华安县| 桂阳县| 明溪县| 丰宁| 阳新县| 化州市| 苏尼特左旗| 麻江县| 宁阳县| 朝阳县| 沙雅县| 昌邑市| 本溪| 庄河市| 扎囊县| 贵溪市| 大方县| 合肥市| 梓潼县| 新疆|