const用法是什麼?
const用法是:
1. const的普通用法
int const size; const int size;
這兩個語句都是把size宣告為一個整數,他的值不能被修改。
可以在宣告的時候對他進行初始化,
int const size =10;
錯誤用法:
const int size =10; char buffer[size];
錯誤在於,size佔用某記憶體區塊,C編譯器不知道它在編譯的值。而且,C預設const是外部連線的,所以寫成const是可以的。
2.const用於指針
(1)
const int *p; int const *p; //含义是指向常量的指针,指针的常量值不可以修改
兩者相同,p是一個指向整形常亮的指針,可以修改指標的值,但不能修改指標所指向的值。
int b = 5; int c = 3; const int *p=&b; *p=6; //错误,不能通过指针修改所指向的值; p=&c; //正确,可以修改指针的值
(2)
int * const p; //含义是常量指针,p的值不可以修改
p是一個指針,指針p是常數,它的值無法修改,但是可以修改p所指向的整數型的值。
int b = 5; int c = 3; int *const p = &b; *p = 6; //正确,可以修改指针所值向的值 p =&c; //错误,不可以修改指针的值
(3)
const int * const p;
無論是指標本身或它所指向的值都是常數。
簡單的判斷的方法:
如果const在 * 的左側,則const用來修飾指標所指向的變量,即指標指向位元常數;
#如果const位於* 的右側,則const就是修飾指標本身,即指標本身就是常數。
3.const用於函數的形參
void foo(const int * p)
const用於形參時說明了形參在函數內部不會被改變。這種形式通常用於數組形式的參數中模擬傳值調用。這也是const最有用之處,限定函數的形參,這樣函數將不會修改實參指標所指向的資料。這裡要注意得的是,是函數不應該去修改而不是不能修改。
4.宣告常數的其他方法
C語言中可以用enum型別和#define巨集來定義常數
#define MAX_SIZE 10; int const max_size =10;
這裡使用# define比使用const變數更好。
只要允許使用字面值常數的地方都可以使用前者,例如宣告陣列的長度。
const變數只能用於允許使用變數的地方。
推薦教學:《c影片教學》
以上是const用法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!