C指標之const關鍵字與指標

2021-10-07 03:53:48 字數 1017 閱讀 1340

// 第一種

const int *p1; // p本身不是cosnt的,而p指向的變數是const的

// 第二種

int const *p2; // p本身不是cosnt的,而p指向的變數是const的

// 第三種

int * const p3; // p本身是cosnt的,p指向的變數不是const的

// 第四種

const int * const p4;// p本身是cosnt的,p指向的變數也是const的

*p1 = 3; // error: assignment of read-only location 『*p1』

p1 = &a; // 編譯無錯誤無警告

*p2 = 5; // error: assignment of read-only location 『*p2』

p2 = &a; // 編譯無錯誤無警告

*p3 = 5; // 編譯無錯誤無警告

p3 = &a; // error: assignment of read-only variable 『p3』

p4 = &a; // error: assignment of read-only variable 『p4』

*p4 = 5; // error: assignment of read-only location 『*p4』

const int a = 5;

//a = 6; // error: assignment of read-only variable 『a』

int *p;

p = (int *)&a; // 這裡報警告可以通過強制型別轉換來消除

*p = 6;

printf("a = %d.\n", a); // a = 6,結果證明const型別的變數被改了

C 指標與const關鍵字

在c 中,我們經常使用const關鍵字來定義常量,這是const的基礎用法。然而,當const與指標變數結合起來時,情況就會變得稍稍複雜,下面講解const與指標變數結合的三種形式。const關鍵字在指標型別之前定義,我們稱這種情況為常量指標,形式如下 int a 10,b 20 const int...

const關鍵字與指標

1 const修飾指標的四種形式 a.const是關鍵字,在c語言中原來修飾變數,表示這個變數是常量。const int inum 10 和 int const inum 10 的效果是一樣的。b.const修飾指標有4種形式。區分清楚這4種即可全部理解const和指標。1 const int p ...

const關鍵字與指標

const關鍵字與指標 const修飾指標的4種形式 1 const.關鍵字,在c語言中用來修飾變數,表示這個變數是常量。2 const修飾指標有4種形式,區分清楚這4種即可全部理解const和指標。第一種 const int p 第二種 int const p 第三種 int const p 第四...