union共用体(联合体)、宏定义、枚举
生活随笔
收集整理的這篇文章主要介紹了
union共用体(联合体)、宏定义、枚举
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、共用體
定義和用法與結構體基本相同,不同的是,結構體中多個不同的放在一起,而共用體是定義的對個變量對應同一個東西,而用不同的去訪問,可以得到相同的結果。當多個可以同時使用時選用結構體,當只能任選其一時,使用共用體。
#include <stdio.h>struct Male{int age;int basketball; };struct Female{int age;int badminton; };union Sex{struct Male m;struct Female f; };int main() {union Sex s;s.m.age = 23;s.m.basketball = 99;printf("%d",s.f.age);return 0; }運行結果:
23二、宏定義
宏定義的意思可以這么理解,用一個符號代替另一個符號,當程序編譯時,會把宏定義全部進行相應的替換。為什么要有宏定義,當一些常量并且多處使用,一旦發生錯誤要進行修改時,工程量巨大,但如果使用了宏定義,那么只需要更改宏定義處的值即可。
#include <stdio.h>#define N (10)#define PI (3.14) #define S(r) (PI * (r) * (r))int main() {int a[N];int b[N];int c[N];printf("S(r):%f",S(3)); return 0; }運行結果:
S(r):28.260000需要注意的是,在宏定義時,宏的名字通常使用大寫字母來表示,并非必須。其次需要注意的是,宏定義的內容要用括號括起來,不然替換后可能會發生,運算的錯誤。
三、枚舉
枚舉將所有出現的可能放置在一起,這就構成了枚舉,定義的枚舉變量只能使用枚舉中的可能來進行賦值。
#include <stdio.h>enum Day{SUN,MON,THU,WEN,THR,FRI,SAT, }; int main() {enum Day day;day = SUN;switch(day){case SUN:printf("hahahahaha\n");break;default:printf("other\n");break;}return 0; }運行結果:
hahahahaha總結
以上是生活随笔為你收集整理的union共用体(联合体)、宏定义、枚举的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: skimage库安装
- 下一篇: C++重载函数和重载运算符