C語言?const修飾普通變量和指針的操作代碼
一.const修飾普通變量
用const修飾普通變量時(shí),是在語法層面限制了變量的修改,但是本質(zhì)上,變量還是變量,是一種不能被修改的變量。以下兩種定義方式都可以:
const int a = 10; int const b = 10;
變量的值不能修改,否則會(huì)報(bào)錯(cuò)

但變量的值可以通過指針進(jìn)行修改:

所以為避免變量的值被修改,同時(shí)又需要使用指針指向變量,那么就讓const修飾指針
二.const修飾指針
const 可以放在 * 左邊 ,可以放在 * 右邊 ,也可以放在 * 左右兩邊,這3種方式的意義各不相同
1.const 放在 * 左邊
const 放在 * 左邊限制的是指針指向的內(nèi)容,也就是說:不能通過指針來修改指針指向的內(nèi)容,但是指針變量是可以修改的,也就是指針可以指向其它變量
int main()
{
const int a = 10;
const int* p = &a;
*p = 20;//err
int b = 20;
p = &b;//ok
return 0;
}2.const 放在 * 右邊
const 放在 * 右邊限制的是指針變量本身,指針變量不能再指向其它內(nèi)容,但是可以通過指針變量來修改指針指向的內(nèi)容
int main()
{
const int a = 10;
int* const p = &a;
*p = 20;//ok
int b = 20;
p = &b;//err
return 0;
}3.const 放在 * 左右兩邊
const 放在 * 左右兩邊限制的是指針變量本身和指針變量指向的內(nèi)容,也就是說:不能通過指針來修改指針指向的內(nèi)容,指針也不能指向其它變量
int main()
{
const int a = 10;
const int* const p = &a;
*p = 20;//err
int b = 20;
p = &b;//err
return 0;
}到此這篇關(guān)于C語言 const修飾普通變量和指針的文章就介紹到這了,更多相關(guān)C語言 const修飾指針內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++ 數(shù)據(jù)結(jié)構(gòu)之對(duì)稱矩陣及稀疏矩陣的壓縮存儲(chǔ)
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之對(duì)稱矩陣及稀疏矩陣的壓縮存儲(chǔ)的相關(guān)資料,這里實(shí)現(xiàn)稀疏矩陣和對(duì)稱矩陣的壓縮存儲(chǔ)的實(shí)例,需要的朋友可以參考下2017-08-08
C++結(jié)構(gòu)體字節(jié)對(duì)齊示例
這篇文章主要為大家介紹了C++結(jié)構(gòu)體字節(jié)對(duì)齊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
對(duì)比C語言中g(shù)etc()函數(shù)和ungetc()函數(shù)的使用
這篇文章主要介紹了對(duì)比C語言中g(shù)etc()函數(shù)和ungetc()函數(shù)的使用,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-08-08
Qt實(shí)現(xiàn)字幕無間隙滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了如何利用Qt實(shí)現(xiàn)字幕無間隙滾動(dòng)效果,文中的實(shí)現(xiàn)過程講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-11-11
學(xué)習(xí)C和C++的9點(diǎn)經(jīng)驗(yàn)總結(jié)
本文給大家總結(jié)了一下我們?cè)趯W(xué)習(xí)C和C++的時(shí)候的一些經(jīng)驗(yàn)和需要注意的事項(xiàng),希望能給大家一些幫助,少走些彎路2015-12-12

