1. 程式人生 > >day10-列舉、typedef、巨集、宣告

day10-列舉、typedef、巨集、宣告

enum

先定義,後宣告

列舉類列舉類名 {變數名。。}

列舉類列舉類名列舉變數名=宣告時;

以逗號隔開,沒有資料型別

輸出時只能是0123等整數

定義時宣告

列舉類列舉類名 {資料型別,變數。。}列舉變數名 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暫存器