const、typedef 、 define總結
阿新 • • 發佈:2017-07-21
-m 接受 posit _for rep sets start eba csdn
constkeyword
const=read only,修飾的為僅僅讀變量而不是常量。const修飾的變量不能用作數組的維數也不能放在switch語句的case:之後。
[html] view plaincopyprint?
const和volatilekeyword的後面若緊跟類型說明符則作用於類型說明符。在其它情況下。作用於它左邊緊鄰的指針星號。
typedef 與 define的差別體如今兩個方面
1.define能夠對定義的宏類型名進行擴展,而typedef不能夠
[cpp]
view plaincopyprint
2在連續幾個變量的聲明中僅僅有typedef能夠保證類型的一致性 [cpp]
view plaincopyprint
typedef的特殊使用方式
const=read only,修飾的為僅僅讀變量而不是常量。const修飾的變量不能用作數組的維數也不能放在switch語句的case:之後。
主要作用有:
[html] view plaincopyprint?
- const int a; //a為常量不能被改動
- int const a; //a為常量不能被改動
- const int *a; //a為指向一個常量的指針,a的值是能夠變量的
- int *const a; //const修飾a,a為一個指向整型變量的指針常量
const和volatilekeyword的後面若緊跟類型說明符則作用於類型說明符。在其它情況下。作用於它左邊緊鄰的指針星號。
">?
- #define peach int
- unsigned peach i;//沒有問題
- typedef int peach;
- unsiged peach i;//錯誤,非法
2在連續幾個變量的聲明中僅僅有typedef能夠保證類型的一致性 [cpp]
">?
- #define int_ptr int *;
- int_ptr chalk,cheese;
typedef的特殊使用方式
用來聲明函數指針
[html] view plaincopyprint?
- typedef void(*ptr_fun) (int);
- //ptr_fun是一個函數指針,參數為int型。返回值為void
- ptr_fun sinal(int,ptr_fun)
- //sinal是一個函數,接受int和ptr_fun兩個類型的參數,返回值為ptr_fun
typedef int A[5];
//a是一個指向有5個元素的整型數組的數組指針。A代表的類型是(int)[5] 。也即A b={1,2,3,4,5};const、typedef 、 define總結