const修飾指針的4種形式
const關鍵字,在C語言中用來修飾變量,表示這個變量是常量。
const修飾指針有4種形式,區分清楚這4種即可全部理解const和指針。
第一種:const int *p;
第二種:int const *p;
第三種:int * const p;
第四種:const int * const p;
ation ‘*p4’
// 第一種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;