目錄

前言:
1.指針
1.1什么是指針
1.2指針的定義
1.3*號(hào)的作用
1.4指針的指向類型和數(shù)據(jù)類型的大小
1.5修改*p和p
1.6.空指針和野指針
1.7指針和一維數(shù)組
1.8指針的運(yùn)算
2.二級(jí)指針
2.1什么是二級(jí)指針
2.2二級(jí)指針的數(shù)據(jù)類型和指向數(shù)據(jù)類型
3.數(shù)組指針的定義
3.1數(shù)組指針和指針數(shù)組
3.2數(shù)組指針的指向類型和數(shù)據(jù)類型
3.3指向類型和數(shù)據(jù)類型的大小
3.4改變數(shù)組指針的指向
3.5數(shù)組指針的運(yùn)算
前言:指針,是C語(yǔ)言中的一個(gè)重要概念及其特點(diǎn),也是掌握C語(yǔ)言比較困難的部分。指針也就是內(nèi)存地址,指針變量是用來(lái)存放內(nèi)存地址的變量,在同一CPU構(gòu)架下,不同類型的指針變量所占用的存儲(chǔ)單元長(zhǎng)度是相同的,而存放數(shù)據(jù)的變量因數(shù)據(jù)的類型不同,所占用的存儲(chǔ)空間長(zhǎng)度也不同。有了指針以后,不僅可以對(duì)數(shù)據(jù)本身,也可以對(duì)存儲(chǔ)數(shù)據(jù)的變量地址進(jìn)行操作。
1.指針 1.1什么是指針內(nèi)存是由很多字節(jié)組成的,字節(jié)很多,所以每個(gè)字節(jié)都有獨(dú)屬于字節(jié)的一個(gè)編號(hào),這個(gè)編號(hào)就是指針。
1.2指針的定義例如a的地址時(shí)0x100,要把這個(gè)編號(hào)存起來(lái),就要用到指針。int *p = &a; *是標(biāo)識(shí)符,表示我定義了一個(gè)指針變量p,里面存放的是int類型的a的地址。所有實(shí)際數(shù)據(jù)類型,不管是整型、浮點(diǎn)型、字符型,還是其他的數(shù)據(jù)類型,對(duì)應(yīng)指針的值的類型都是一樣的,都是一個(gè)代表內(nèi)存地址的長(zhǎng)的十六進(jìn)制數(shù)。不同數(shù)據(jù)類型的指針之間唯一的不同是,指針?biāo)赶虻淖兞炕虺A康臄?shù)據(jù)類型不同。
1.3*號(hào)的作用Int *p = &a;
p的數(shù)據(jù)類型是int *。
p指向的數(shù)據(jù)類型是int類型。
指針的數(shù)據(jù)類型大小在32os永遠(yuǎn)是4字節(jié),64os是8字節(jié),不會(huì)因?yàn)橹赶虻臄?shù)據(jù)類型而發(fā)生改變。Int * char * double* float *都是4個(gè)字節(jié)。
1.5修改*p和p



可以通過(guò)改變*p,進(jìn)而改變p所指向的空間里面的內(nèi)容。
可以改變p的指向,讓p指向a改變成p指向b。
1.6.空指針和野指針野指針,沒(méi)有固定指向的指針。
野指針,并不知道指向的哪片空間,所以比較危險(xiǎn),一般不用。
怎樣避免野指針?
在變量聲明的時(shí)候,如果沒(méi)有確切的地址可以賦值,為指針變量賦一個(gè) NULL 值是一個(gè)良好的編程習(xí)慣。讓野指針指向NULL,然后需要使用指針的時(shí)候再給指針p定義指向。

Int arr[5] = {1,2,3,4,5};

arr是這片空間的名字,也是這片空間的首地址。&arr[0] = arr,arr[0]是int型的,&arr是int *型的,
可以定義一個(gè)int *p = &arr[0],? ? ? ? ?arr = &arr[0],? ? ? int *p = arr,這里可以說(shuō)arr賦值給p,也可以說(shuō)p
指向arr,不能說(shuō)arr 等于P。
1.8指針的運(yùn)算
一維整型數(shù)組和指針
p-q:計(jì)算出來(lái)連續(xù)空間里面,p和q中間差了幾個(gè)元素(減出來(lái)的字節(jié)數(shù)/sizeof(數(shù)據(jù)類型))。
p++:往地址增大的方向移動(dòng),移動(dòng)了一個(gè)數(shù)據(jù)類型大小,p的指向已經(jīng)發(fā)生了改變。
p+1:往地址增大的方向移動(dòng),移動(dòng)了一個(gè)數(shù)據(jù)類型大小,p的指向沒(méi)有改變。
p--:往地址減小的方向移動(dòng),移動(dòng)了一個(gè)數(shù)據(jù)類型大小,p的指向已經(jīng)發(fā)生了改變。
p-1:往地址減小的方向移動(dòng),移動(dòng)了一個(gè)數(shù)據(jù)類型大小,p的指向沒(méi)有改變。
2.二級(jí)指針 2.1什么是二級(jí)指針C語(yǔ)言不限制指針的級(jí)數(shù),每增加一級(jí)指針,在定義指針變量時(shí)就得增加一個(gè)星號(hào)*。p1 是一級(jí)指針,指向普通類型的數(shù)據(jù),定義時(shí)有一個(gè)*;p2 是二級(jí)指針,指向一級(jí)指針 p1,定義時(shí)有兩個(gè)*。
一級(jí)指針存放的是普通變量的地址,二級(jí)指針存放的是一級(jí)指針的地址。
2.2二級(jí)指針的數(shù)據(jù)類型和指向數(shù)據(jù)類型本身的數(shù)據(jù)類型:int ** 4個(gè)字節(jié)。
指向的數(shù)據(jù)類型:int * ?4個(gè)字節(jié)。
3.數(shù)組指針的定義數(shù)組指針是指向數(shù)組整體的,int arr[5],他的數(shù)據(jù)類型是int [5]
數(shù)據(jù)類型 ?(*變量名)[一維數(shù)組的元素個(gè)數(shù)]
如果不加(),變量名先和[]去結(jié)合,變成數(shù)組,然后再和*去結(jié)合,變成指針,最終變成指針數(shù)組。
3.1數(shù)組指針和指針數(shù)組數(shù)組指針:他是一個(gè)指針,指向了一個(gè)數(shù)組 ????int (*p)[5]
指針數(shù)組:他是一個(gè)數(shù)組,里面存放的都是指針 int *p[5]
3.2數(shù)組指針的指向類型和數(shù)據(jù)類型指向類型:int ()[5]
數(shù)據(jù)類型:int (*)[5]
3.3指向類型和數(shù)據(jù)類型的大小對(duì)指針數(shù)組來(lái)說(shuō),首先它是一個(gè)數(shù)組,數(shù)組的元素都是指針,也就是說(shuō)該數(shù)組存儲(chǔ)的是指針,數(shù)組占多少個(gè)字節(jié)由數(shù)組本身決定;而對(duì)數(shù)組指針來(lái)說(shuō),首先它是一個(gè)指針,它指向一個(gè)數(shù)組,也就是說(shuō)它是指向數(shù)組的指針,在 32 位系統(tǒng)下永遠(yuǎn)占 4 字節(jié),至于它指向的數(shù)組占多少字節(jié),這個(gè)不能夠確定,要看具體情況。
3.4改變數(shù)組指針的指向

p+1:往地址增大的方向移動(dòng)一個(gè)數(shù)組類型,p的指向沒(méi)有改變。
p-1:往地址減小的方向移動(dòng)一個(gè)數(shù)組類型,p不改變。
p++:增大的方向移動(dòng)一個(gè)數(shù)據(jù)類型,p的指向已經(jīng)改變。
p--:減小的方向移動(dòng)一格數(shù)據(jù)類型,p改變。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁(yè)標(biāo)題:C語(yǔ)言指針知識(shí)點(diǎn)-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://www.chinadenli.net/article16/dccidg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、網(wǎng)站收錄、定制開(kāi)發(fā)、App開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容