一、#define和const
#define:
1. 可以用來定義乙個沒有指定型別的常量,在定義的時候可以該對常量賦值;
2.也可以定義乙個表示式,表示式可以帶引數。
》定義後不能被更改《
用例一:
#define number 1000
用例二:
#define max(x,y) ((x)>(y)?(x):(y))
用例三:
#ifndef **
#define **
...#endif
const:
可以定義乙個有型別的變數,該變數一旦被定義就不能被修改。
const float a = 100.0;
二、條件編譯
可在程式中減少要編譯的程式。
#ifndef ***
#define ***
...
#elif ***
...#endif
三、typedef
用例一:
typedef unsigned char uch
uch a,b[10];
等同於unsigned char a,b[10];
四、extern
#ifndef _a_h
#define _a_h
extern int number;
...#endif
#include "a.h"
int number = 100;
void a(void)
#include "b"
#include "a"
void b(void)
五、enum
方法1:
enum weekday
;enum weekday a,b,c;
方法2:
enum weekday
a,b,c;
方法3:
enum
a,b,c;
1.列舉是常量,不是變數,不能對其賦值,但可以在定義的時候賦值。
錯誤的寫法:
sun = 7;
正確的寫法:
enum weekday
a,b,c;
2.列舉元素的第乙個值預設的是0,後面的元素的值是前乙個元素值+1。
sun = 7,mou = 1,tue = 2,wed = 3,thu = 4,fri = 5,sat = 6
3.列舉元素不是字元也不是字串,在使用的時候不能加單、雙引號。
完整的用例:
#include enum weekday
a,b,c;
int main(void)
顯示結果:
0
12
微控制器中常用的濾波演算法
說明 假定從8位ad中讀取資料 如果是更高位的ad可定義資料型別為int 子程式為get ad 又稱程式判斷濾波法 a 方法 根據經驗判斷,確定兩次取樣允許的最大偏差值 設為a 每次檢測到新值時進行判斷,如果本次值與上次值之差 a,則本次值有效 如果本次值與上次值之差 a,則本次值無效,放棄本次值,...
C 程式設計中的 New 關鍵詞的幾種用法
前段時間乙個朋友問到c 的new關鍵字有幾種用法,雖說在日常程式設計中經常用到這個小傢伙,但它到底有幾種用法還真沒有留意過,現將從網上總結出的資料記下以供同仁學習。1 new 運算子 用於建立物件和呼叫建構函式。2 new 修飾符 用於隱藏基類成員的繼承成員。3 new 約束 用於在泛型宣告中約束可...
C 程式設計中的 New 關鍵詞的幾種用法
1.值型別與引用型別 結構是值型別 值型別在堆疊上分配位址,所有的基型別都是結構型別,例如 int 對應system.int32 結構,string 對應 system.string 結構 通過使用結構可以建立更多的值型別 類是引用型別 引用型別在堆上分配位址 2 繼承性 結構 不能從另外乙個結構或...