C語言的const與C const的區別

2021-07-04 07:44:32 字數 768 閱讀 5010

區別一:

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這樣使用時明明一點問題都沒有。...