C語言const關鍵字修飾指標

2021-06-26 06:28:00 字數 540 閱讀 4429

const int *p; // p 可變,p 指向的物件不可變

int const *p; // p 可變,p 指向的物件不可變

int *const p; // p 不可變,p 指向的物件可變

const int *const p; //指標p 和p 指向的物件都不可變

在平時的授課中發現學生很難記住這幾種情況。這裡給出乙個記憶和理解的方法:

先忽略型別名(編譯器解析的時候也是忽略型別名),我們看const 離哪個近。「近水樓

台先得月」,離誰近就修飾誰。

const int *p; //const 修飾*p,p 是指標,*p 是指標指向的物件,不可變

int const *p; //const修飾*p,p 是指標,*p 是指標指向的物件,不可變

int *const p; //const修飾p,p 不可變,p 指向的物件可變

const int *const p; //前乙個const 修飾*p,後乙個const 修飾p,指標p 和p 指向的物件

都不可變

源自《c語言深度解剖》

C 中const關鍵字修飾

2.const應用到函式中 3.類中定義常量 const特殊用法 4.const定義常量物件,以及常量物件的用法 const名叫常量限定符,用來限定特定變數,以通知編譯器該變數是不可修改的。習慣性的使用const,可以避免在函式中對某些不應修改的變數造成可能的改動。c 中const的主要用法大致上可...

C語言 const關鍵字與指標

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 ...

C語言中關鍵字const修飾的指標常量以及常量指標

關鍵字const用來定義常量,如果乙個變數被const修飾,那麼它的值就不能再被改變,我想一定有人有這樣的疑問,c語言中不是有 define嗎,幹嘛還要用const呢,我想事物的存在一定有它自己的道理,所以說const的存在一定有它的合理性,與預編譯指令相比,const修飾符有以下的優點 1 預編譯...