相信很多小伙伴們學(xué)習(xí)C語言時候?qū)χ羔樀母拍疃际悄:陌桑徊乓彩且粯樱栽谏钊雽W(xué)習(xí)指針或者C語言時候咱們要弄明白什么是指針
目前創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、秀峰網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。正文開始
指針就是地址
在C語言中,變量等一切物體都有存儲字節(jié)的空間(現(xiàn)默認(rèn)一個空間為一個字/8個bit),每一個空間都有地址,而指針存儲的就是地址。指針需要多大空間,取決于地址需要多大空間。
而指針存儲的就是地址。指針需要多大空間,取決于地址需要多大空間。
而指針存儲的就是地址。指針需要多大空間,取決于地址需要多大空間。
重要的事情說三遍!?。?/p>
有的小明就會問了,不才你怎么知道變量等一切物體都有存儲字節(jié)的空間呀,我不信
那我們就舉下面例子來說明
int main(){
? ? int a = 10; //a在內(nèi)存中要分配空間的 - 4個字節(jié)
? ? printf("%p\n",&a);//%p是專門用來打印地址?
? ? return 0;
}
那么在這個函數(shù)輸出的一大串內(nèi)容就是a的地址
譬如上面的0097FA34就是變量a的地址
指針變量的聲明在了解指針變量的聲明前,咱們先了解 '&'這個單目操作符。
‘&’單目操作符名為:取地址符。用于取出后面緊跟的變量地址如上面的"&a",取到的是a變量的地址。
咱們通過例子來理解怎么定義指針
例1:
int main(){
int a = 10; //a在內(nèi)存中要分配空間的 - 4個字節(jié)
printf("%p\n",&a);//%p是專門用來打印地址
? ?
? ? int *pa = &a;//pa是用來存放地址的,在C語言中pa就是指針變量
? ? ??//上面有*說明后面變量為指針
? ? // *說明了pa是指針變量,int說明了pa執(zhí)行的對象是int類型
return 0;
}
在上面例子中 *說明了pa是指針變量,int說明了pa執(zhí)行的對象是int類型!
例2:
int main(){
? ? char ch = 'w';
char *pc = &ch;//pc是用來存放地址的,在C語言中pc就是指針變量
//上面有*說明后面變量為指針
// *說明了pc是指針變量,char說明了pc執(zhí)行的對象是char類型
return 0;
}
在上面例子中 *說明了pc是指針變量,char說明了pc執(zhí)行的對象是char類型
指針的初步使用在了解指針變量的聲明前,咱們先了解 '*'這個單目操作符。
‘*’單目操作符名為:解引用操作符??梢酝ㄟ^地址找到對應(yīng)的存儲空間進(jìn)行修改內(nèi)容。
咱們也是通過例子來理解如何初步的使用指針
例1:
int main(){
? ? int a = 10;
? ? int *pa = &a;
? ? *pa = 20;// *pa就是通過pa變量的地址找到a變量 即把20賦給了a
? ?
? ? return 0;
}
下面這張圖作為輔助理解
藍(lán)色線為第3行的運(yùn)行步驟:第一步 把a(bǔ) 的內(nèi)存提取出來,第二步 把a(bǔ)的內(nèi)存賦值存入pa的指針變量中
紫色線為第4行的運(yùn)行步驟:第一步用 '*' 解引用操作符來通過pa變量的地址找到a變量, 第二步進(jìn)行賦值 *pa = 20 即把 a改為20。內(nèi)存中存儲的是二進(jìn)制,補(bǔ)碼儲存。
總結(jié)(不才經(jīng)典大白話)關(guān)于指針的定義和細(xì)節(jié)咱們用一個例子來總結(jié)
int main(){
? ? int a = 10;
? ? //下面我們開始定義一個關(guān)于a的指針
? ? //int pa 要怎么和系統(tǒng)說明咱這個pa是指針呢?
? ? //int *pa 在pa前加一個'*'說明pa為指針
? ? int *pa = &a; //即為在pa中存了a的地址
? ? *pa = 20; //因?yàn)閜a是一個地址所以在前面加了'*','*'是解引用操作符,解開了pa的地址,所以*pa就為a。那么這代碼等同為:a = 20。
? ? return 0;
}
指針就是地址:指針其實(shí)是個變量(指針變量),這個變量存放的是地址,所以稱為指針就是地址。(存放在指針中的值都被當(dāng)成地址處理)。
int a = 10; // a是整形變量
int *p = &a; // p是指針變量
指針的大?。涸?2位平臺是4個字節(jié),在64位平臺是8個字節(jié)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前標(biāo)題:【C語言】第一章·第九節(jié)初識指針-創(chuàng)新互聯(lián)
文章地址:http://m.rwnh.cn/article20/dddsjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、標(biāo)簽優(yōu)化、外貿(mào)建站、微信小程序、虛擬主機(jī)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容