關於const的問題const int a int const a int const a的區別

時間 2021-08-30 09:42:40

1樓:匿名使用者

1、如果const位於星號的左側,則const就是用來修飾指標所指向的變數,即指標指向為常量;如果const位於星號的右側,const就是修飾指標本身,即指標本身是常量。

2、因此,const int *a;和 int const *a;的情況相同,都是指標所指向的內容為常量(const放在變數宣告符的位置無關),這種情況下不允許對內容進行更改操作,如不能*a = 3 ; ,int *const a;為指標本身是常量,而指標所指向的內容不是常量,這種情況下不能對指標本身進行更改操作,如a++是錯誤的。

3、const int* const a;為指標本身和指向的內容均為常量。

2樓:

前兩個一樣,意思是指標指向的物件是const(指標本身的值可變,不是const),第三個是指標本身不可變const,(但他指向的物件可變,不是const)

3樓:

const int *a; 表示指標a指向的整數為只讀變數,不能改變,但可以改變指標a的值來改變a指向的內容。

int const *a;同上,一個意義。

int *const a;表示指標a為只讀變數,不能改變,既不能改變a指向的地址,但可以改變a的內容。

const定義要從右至左看,const int *a,既const (int *a),const修飾的是指標a指向的內容,int *const a;const修飾的是a,即指標。

c語言定義變數如:int const a;與const int a;有什麼區別?

4樓:匿名使用者

baiint const *a 和const int *a 沒有區別,都是du

一個zhi指向一個int常量的指標,這個指標本身dao以後可以重賦值指向別的int常量。

而 int *const a; 表示a是一個指標常量,初始化的時候必須固定指向一個int變數,之後就不能再指向別的地方了。

#include

int main()

5樓:匿名使用者

在定義變來量的時候是沒有說明區自別的;例bai如:const int a; int const a;但是定義此類變數時du,一般zhi

放在前面!

const int *a和dao int * const a這個區別就很多了,第一個是保證指標所指的資料不能被修改,第二個是指標不能被修改

const int a(){ } 和int a()const { } 有區別麼 有什麼區別 分別代表什麼

6樓:匿名使用者

int a()const 表示a()函式中,類的成員變數不能發生任何改變

const int a() 這屬於一種牽強的寫法吧,意思是返回值是一個整型 , 而且這個返回值是常量,有必要這樣寫嗎?(個人理解)

7樓:

const int a()

a的返回值是一個const int

int a() const

a返回int

a不會對引數進行修改;如果a是結構體或者類的成員,那麼也不會對結構體或類的成員變數進行修改

int const a 和const int a有什麼區別

8樓:宿雨厭厭

沒有區別。

修飾非指標時,沒有區別:都是宣告int常量a;修飾指標時,置於int前,表示指標只能指向常量,*a賦值非法,置於int後,表示指標常量,a賦值非法

cconst問題,C 中的const的用法

這樣解釋一下 int cc 5 int dd cc int ee cc int const aa dd aa 是 常指標,不允許 再指向別處,定義時初始化為 dd 的引用因為aa是常指標 所以 aa ee 會報錯 aa 1 允許 int cc 5 int dd cc int ee cc const ...

c 中const是怎麼使用的

用來修飾變數或函式 包括成員函式 及其引數 1 const修飾基本資料型別 2 const應用到函式中 3 const在類中的用法 4 const修飾類物件,定義常量物件 一 const修飾基本資料型別 1.const修飾一般常量及陣列 const int a 10 等價的書寫方式 int cons...

const在C語言中有哪些用法

寧心聽曲 const關鍵字至少有下列n個作用 1 欲阻止乙個變數被改變,可以使用const關鍵字。在定義該const變數時,通常需要對它進行初始化,因為以後就沒有機會再去改變它了 2 對指標來說,可以指定指標本身為const,也可以指定指標所指的資料為const,或二者同時指定為const 3 在乙...