大家好,我是蘇貝,本篇博客帶大家了解const修飾普通變量和指針,如果你覺得我寫的還不錯的話,可以給我一個贊👍嗎,感謝??
文章目錄
- 一.const修飾普通變量
- 二.const修飾指針
- 1.const 放在 * 左邊
- 2.const 放在 * 右邊
- 3.const 放在 * 左右兩邊
一.const修飾普通變量
用const修飾普通變量時,是在語法層面限制了變量的修改,但是本質上,變量還是變量,是一種不能被修改的變量。以下兩種定義方式都可以:
const int a = 10;int const b = 10;
變量的值不能修改,否則會報錯
但變量的值可以通過指針進行修改:
所以為避免變量的值被修改,同時又需要使用指針指向變量,那么就讓const修飾指針
二.const修飾指針
const 可以放在 * 左邊 ,可以放在 * 右邊 ,也可以放在 * 左右兩邊,這3種方式的意義各不相同
1.const 放在 * 左邊
const 放在 * 左邊限制的是指針指向的內容,也就是說:不能通過指針來修改指針指向的內容,但是指針變量是可以修改的,也就是指針可以指向其它變量
int main()
{const int a = 10;const int* p = &a;*p = 20;//errint b = 20;p = &b;//okreturn 0;
}
2.const 放在 * 右邊
const 放在 * 右邊限制的是指針變量本身,指針變量不能再指向其它內容,但是可以通過指針變量來修改指針指向的內容
int main()
{const int a = 10;int* const p = &a;*p = 20;//okint b = 20;p = &b;//errreturn 0;
}
3.const 放在 * 左右兩邊
const 放在 * 左右兩邊限制的是指針變量本身和指針變量指向的內容,也就是說:不能通過指針來修改指針指向的內容,指針也不能指向其它變量
int main()
{const int a = 10;const int* const p = &a;*p = 20;//errint b = 20;p = &b;//errreturn 0;
}
好了,那么本篇博客就到此結束了,如果你覺得本篇博客對你有些幫助,可以給個大大的贊👍嗎,感謝看到這里,我們下篇博客見??