區別一:
c語言的const是定義了乙個const變數,該變數只具備讀的功能,而不具備寫的功能。
c++的const是定義了乙個常量。
const
int a = 5;
intarray[a];//在c語言中是錯誤的,因為在c語言中是定義了乙個唯讀變數
intarray[a];//在c++中是正確的,因為在c++中定義了乙個常量
區別二:
c語言中不能定義const函式,而c++中可以定義const函式。
c++的const成員函式:不能修改類的成員變數的值。(此處就不列舉例子了)
指標常量和常量指標:
1、指向指標的常量:當const在*號前面就是指向常量的指標。
const
char *p1 = "123456";
char
const* p2 = "123456";
p1 = "werr"; //正確,可以再指向其他的常量
p1[0] = 'a'; //錯誤,不能修改指向位址的值
2、常量指標:當const在*號之後
char *const p1 = "12445";
p1[0] = 'w'; //正確,可以修改指向記憶體的值
p1 = "ddddd"; //錯誤,不能修改p1指向的記憶體
c語言與c 中const的區別
首先宣告一下 const的不同是由於編譯器對const的處理方法不同造成的。因此,我們所接下來所說的差異是分別針對c89和c 99版本的編譯器。1 c語言中的const include void main 不能用a作為陣列下標 a 20 不能進行直接修改 printf 修改前a d n a int ...
C語言與C 語言中Const的特性剖析
include using namespace std int main 我們看到了,c 中的const限制了來自 從變數本身改變變數的值與從變數指標強制改變變數的值 的威脅。c 中的const型別的變數真正做到了 無法被修改 的特性,被const修改的變數也因此變為了 真正的常量 include ...
C語言中const與指標的指標
主題源自 c專家程式設計 第19頁,以下是我的理解。先看個例子 include 例子1 void foo1 const char p int main void 這個簡單的程式在編譯的時候會報個error或warning,原因是原型不匹配。為什麼這樣?我們在像下面例子2這樣使用時明明一點問題都沒有。...