const的用法及它在C語言和C 中的不同

2022-06-30 20:18:10 字數 754 閱讀 1239

(1)可以定義const常量。

(2)const可以修飾函式的引數和返回值,甚至定義體。被const修飾的東西都受到強制保護。

(3)const修飾成員函式時,用於成員函式前面,則返回值不能作為左值。用在後面,則該成員函式的資料成員不能改變。

(4)const修飾資料成員時,必須使用冒號語法。

在c程式中,const主要有定義變數、修飾函式引數、修飾函式返回值。

在c++程式中,還可以修飾函式的定義體,定義類中成員函式為恆態函式,既不改變類中的資料成員。

在陣列定義維數n時,只能用const和define來定義n:

如:

const int n =10;

char a[n];

或#define n 10

char a[10];

此時n作為陣列的維數,只能作為常量。int n= 10; char a[n];是錯誤的,因為此時n為變數。

const與#define的不同?

(1)const常量有資料型別,巨集常量沒有。

(2)編譯器對const可以進行型別安全性檢查,define只能進行字元替換。

(3)有些整合化除錯工具可以對const常量進行除錯,但不能對巨集常量進行除錯。

在c++程式中只使用const常量而不使用巨集常量

(4)const修飾成員變數時,成員變數的初始化必須在建構函式的初始化列表(冒號語法)中進行。

c語言 和 的用法

在c語言的巨集中,的功能是將其後面的巨集引數進行字串化操作 stringfication 簡單說就是在對它所引用的巨集變數通過替換後在其左右各加上乙個雙引號。比如下面 中的巨集 define warn if exp do while 0 那麼實際使用中會出現下面所示的替換過程 warn if div...

const 在C語言和C 語言中的區別

const 在c語言和c 語言中的區別 1 c語言中的 const 是定義了乙個 const 變數,const 用來限定乙個變數是唯讀的,不具備寫的功能,即是不可變的 c 語言中的 const 則是定義了乙個常量 const int a 10 int arr a 在c語言中是錯誤的,因為在c語言中是...

const在C語言和C 中的區別

const在c語言和c 中的對比一 const在c語言和c 中的對比二 下面這段 在c語言中和c 中表現出不同結果 int main 環境 c語言中 c 中 結果20 10c 中的10對嗎?如果你認為沒有被修改,那麼你就錯了,這裡的10是錯誤的,printf列印的時候是在暫存器上獲取的,而記憶體中的...