day10-列舉、typedef、巨集、宣告
阿新 • • 發佈:2019-01-22
enum
先定義,後宣告
列舉類列舉類名 {變數名。。};
列舉類列舉類名列舉變數名=宣告時;
以逗號隔開,沒有資料型別
輸出時只能是0,1,2,3等整數
定義時宣告
列舉類列舉類名 {資料型別,變數。。}列舉變數名 m;
匿名列舉直接定變數
列舉類{。。。}列舉變數名;
不能對列舉值進行修改,使用時為列舉變數名 m =宣告時的值
typedef 原型別名 新型別名
定義結構體和enum時必須用typedef,否則看起來很Low
預編譯-巨集
#define 巨集定義 ,define 名字值
在函式中,值可以直接用名字代替
#define 巨集替換
如:define M(y) y+1
則 M(a)就代表 a+1;
Add(x,y) x+y 則Add(a,b)代表 a+b
預編譯-條件編譯
#if #else #elif #endif 選擇內容進行編譯
與#define 進行搭配
#ifndef = #if !define
#ifdef = #if define
extern 有兩個作用:1.預設修飾全域性變數與函式 2.申明有一個全域性變數或函式存在
申明的時候不能賦值,a.c檔案中的變數想在b.c中使用就申明一下
static 修飾全域性變數與函式,改變變數與函式的作用域只限於當前檔案內
函式預設也是extern
對於extern而言,當將檔案#include匯入時,就不需要再另外聲明瞭
不屬於static修飾的,就是預設auto修飾的
register暫存器