const在c語言和c++中的對比一
const在c語言和c++中的對比二
下面這段**在c語言中和c++中表現出不同結果
int
main()
環境
c語言中
c++中
結果20
10c++中的10對嗎?
如果你認為沒有被修改,那麼你就錯了,這裡的10是錯誤的,printf列印的時候是在暫存器上獲取的,而記憶體中的a已經被修改為20;
總結:const在c語言中修飾的變數的值是可以被修改的,而c++中被修改了,讀取時需要到記憶體中讀取,而不是從暫存器上獲取,這是乙個坑
指標常量和常量指標:
//下面兩種方式是一樣的
const
int a;
intconst b;
----
----
----
----
const
char
*p="123456"
;p1 =
"abc"
;//表示指標p所指向的空間不能被修改,但是可以指向其它常量
char
const
* p=
"123456";p[
0]='a'
;//這種寫法錯誤,表示p指向位址的值不能被修改
char
*const p =
"123456";p[
0]="a"
;//正確,可以修改指向記憶體的值
p ="abc"
;//錯誤,不能修改p指向的記憶體
const
int*
const e;
//e不能被修改,指向的空間也不能被修改
const在C語言和C 中的區別
對於c語言和c 熟悉的人都知道 const 這個修飾符的存在。在很多面試公司中,const 這個修飾符的面試題筆試題也是一直都有的,那對於const這個修飾符你真的了解嗎?問到const 這個修飾符的用處,很多人都會說,用const修飾符修飾的變數表示該變數是常亮,是唯讀的,無法修改的。其實對於這樣...
const 在C語言和C 語言中的區別
const 在c語言和c 語言中的區別 1 c語言中的 const 是定義了乙個 const 變數,const 用來限定乙個變數是唯讀的,不具備寫的功能,即是不可變的 c 語言中的 const 則是定義了乙個常量 const int a 10 int arr a 在c語言中是錯誤的,因為在c語言中是...
c語言和c 中struct的區別
1.雖然長的一樣,但是本質上型別不同 c語言中 struct是使用者自定義資料型別 udt c 中struct是抽象資料型別 adt 所以下面 struct he 在c裡面實際上資料型別為 struct he 所以定義乙個結構he變數都要 帶上struct.structhe a c語言 變數方式 而...