成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

指針?lè)矫嫦嚓P(guān)內(nèi)容,及其易錯(cuò)點(diǎn)

linkFly / 2575人閱讀

摘要:文章目錄前言一丶野指針指針的運(yùn)算指針整數(shù)指針指針指針的關(guān)系運(yùn)算二字符指針三指針數(shù)組與數(shù)組指針指針數(shù)組數(shù)組指針?biāo)臄?shù)組名與數(shù)組名五數(shù)組參數(shù)指針參數(shù)一維數(shù)組傳參二維數(shù)組傳參一級(jí)指針傳參二級(jí)指針傳參六丶函數(shù)指針函數(shù)指針即指


前言

我自己前段時(shí)間一直在學(xué)習(xí)指針?lè)矫嫦嚓P(guān)內(nèi)容,個(gè)人覺(jué)得對(duì)于像我這樣的初學(xué)者來(lái)說(shuō),學(xué)到指針這里就感覺(jué)到相對(duì)比較困難了,所以呢,在學(xué)完指針之后,特此做一個(gè)指針?lè)矫娴闹R(shí)匯總,以及一些易錯(cuò)點(diǎn),如果有不完善的地方,還望大家多多指正。

一丶野指針

我們先來(lái)說(shuō)一個(gè)指針中容易犯的錯(cuò)誤,什么叫野指針呢?
野指針就是說(shuō)指針指向的位置不可知,常見(jiàn)的造成野指針的原因有以下三點(diǎn)
1.int* p; 未對(duì)指針初始化,如果我們不知道地址,那我們寫(xiě)成int*p=NULL;即可
2.指針越界訪問(wèn)
3.指針指向的空間釋放

指針的運(yùn)算

1.指針±整數(shù)

指針±整數(shù),就是訪問(wèn)地址是時(shí)跳過(guò)幾個(gè)元素,大家可以看看這個(gè)代碼感受一下。

2.指針-指針

指針-指針:指的是同一塊空間里指針與指針之間元素的個(gè)數(shù)

3.指針的關(guān)系運(yùn)算

指針的關(guān)系運(yùn)算,簡(jiǎn)單的就可以理解為指針?biāo)赶蚰莻€(gè)空間所對(duì)應(yīng)指的大小運(yùn)算

???????????????

二、字符指針

?
字符指針這里比較簡(jiǎn)單,就比如char* 就是一個(gè)字符指針,在這里我就給大家分享一道例題
?

在這里,第一個(gè)if語(yǔ)句,執(zhí)行的是else,if里的str1 與str2分別指的是數(shù)組首元素地址,雖然數(shù)值相同,但地址是不同,大家可以注意一下;第二個(gè)if,*str1,*str2,解引用操作就指的是數(shù)組第一個(gè)元素,都是h,所以這時(shí)候就是相等的。希望這題能對(duì)大家有幫助。

?

三、指針數(shù)組與數(shù)組指針

1.指針數(shù)組

指針數(shù)組的本質(zhì)上是一個(gè)存放指針的數(shù)組

2.數(shù)組指針


數(shù)組指針的本質(zhì)上指向數(shù)組的指針。

int* p=NULL//p是整形指針——指向整形的指針——存放整形的地址char* pc=NULL;//pc是字符指針——指向字符的指針——存放字符的地址//那么數(shù)組指針就是——指向數(shù)組的指針——存放數(shù)組的地址

那么問(wèn)題來(lái)了,這樣一個(gè)數(shù)組指針該怎么表示呢?

int arr【10={0};int* p【10=&arr;//是這樣嗎?應(yīng)該不是,【】的優(yōu)先級(jí)高于*,所以這樣就是一個(gè)存放指針的數(shù)組了,即指針數(shù)組int*p)【10=&arr;//這樣就合理了,首先可以知道他是一個(gè)指針,然后指向的是一個(gè)數(shù)組,所以是存放數(shù)組的地址,即數(shù)組指針

那我們?cè)倏匆粋€(gè)例子,char* arr【5】;
這個(gè)數(shù)組指針又該怎么表示呢?________=&arr;







正確答案是: char*((*pa)【5】)=&arr;
那為什么呢?下面用一副圖給大家解釋一下

最后我們?cè)賮?lái)整理一下數(shù)組指針和指針數(shù)組

四、數(shù)組名 與&數(shù)組名

多帶帶的數(shù)組名,就是首元素的地址
arr 與 &arr【0】表示的意義是一樣的,都是首元素地址
有兩種例外,數(shù)組名不多帶帶表示數(shù)組首元素地址
1.我們計(jì)算字符串長(zhǎng)度的時(shí)候

int sz=sizeof(arr)/sizeof(arr【0】);//這里 arr就表示的是整個(gè)數(shù)組

2.&arr,&arr表示的是取整個(gè)數(shù)組的地址,而不單單是一個(gè)元素的地址
3.&arr+1 跳過(guò)的是整個(gè)數(shù)組;arr+1 跳過(guò)的一個(gè)元素

五、數(shù)組參數(shù)、指針參數(shù)

1.一維數(shù)組傳參


像上面的傳參形式都是正確的,一維數(shù)組傳參,可以直接用數(shù)組來(lái)接收,也可用指針來(lái)接收,因?yàn)閭鲄鞯木褪鞘自氐刂?;像test2 指針數(shù)組傳參,原理是一樣的 可以直接用指針數(shù)組接收,要注意的是用指針進(jìn)行接收時(shí)要用二級(jí)指針,因?yàn)橹羔様?shù)組里的元素本來(lái)就是地址,現(xiàn)在傳首元素的地址,可以理解為傳地址的地址,所以應(yīng)該用二級(jí)指針接收。

2.二維數(shù)組傳參

3.一級(jí)指針傳參

4.二級(jí)指針傳參

六丶函數(shù)指針

1.函數(shù)指針:即指向函數(shù)的指針——存放函數(shù)地址的指針

在函數(shù)里: &函數(shù)名 與 函數(shù)名 都指的是函數(shù)的地址
比如一個(gè)加法 函數(shù)

int Add (int x,int y)int*p)(intint=Add;//它寫(xiě)為指針的形式就是這樣,交代清楚返回類型,(*p)保證它為指針

但是在調(diào)運(yùn)函數(shù)指針時(shí),* 或者不解引用都可以,比如說(shuō):

print(“%d”,p(2,3);//p里存的就是Add的地址 相當(dāng)于Add(2,3)print(“%d”,(*p)(2,3//這倆個(gè)結(jié)果都是相同的

2.函數(shù)指針數(shù)組

通過(guò)上面的介紹,我們就知道,這個(gè)函數(shù)指針數(shù)組呢,它是一個(gè)存放函數(shù)指針的數(shù)組,數(shù)組里存放的是每一個(gè)函數(shù)的地址,根據(jù)這個(gè)概念呢,我突發(fā)奇想,做了個(gè)加減乘除的計(jì)算器,數(shù)組里放了每個(gè)函數(shù),有些不足也希望大家可以指正,代碼如下:

3.指向函數(shù)指針數(shù)組的指針

當(dāng)時(shí)看到這個(gè)的時(shí)候已經(jīng)崩潰了,指針就是無(wú)限套娃又套娃嗎???!??!

我們可以根據(jù)這個(gè)代碼理解一下指向函數(shù)指針數(shù)組的指針,就是套娃再套娃!

七丶總結(jié)

自己目前學(xué)習(xí)關(guān)于指針的內(nèi)容總結(jié)出來(lái)就是這些啦,有不足和紕漏的地方歡迎大家多多指正,都看到這里了,點(diǎn)個(gè)贊再走吧,謝謝大家.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/123077.html

相關(guān)文章

  • ??導(dǎo)圖整理大廠面試高頻數(shù)組8: 移除元素的雙指針優(yōu)化, 力扣27??

    此專欄文章是對(duì)力扣上算法題目各種方法的總結(jié)和歸納, 整理出最重要的思路和知識(shí)重點(diǎn)并以思維導(dǎo)圖形式呈現(xiàn), 當(dāng)然也會(huì)加上我對(duì)導(dǎo)圖的詳解. 目的是為了更方便快捷的記憶和回憶算法重點(diǎn)(不用每次都重復(fù)看題解), 畢竟算法不是做了一遍就能完全記住的. 所以本文適合已經(jīng)知道解題思路和方法, 想進(jìn)一步加強(qiáng)理解和記憶的朋友, 并不適合第一次接觸此題的朋友(可以根據(jù)題號(hào)先去力扣看看官方題解, 然后再看本文內(nèi)容). 關(guān)...

    zhangyucha0 評(píng)論0 收藏0
  • python 一些錯(cuò)點(diǎn)整理

    摘要:與比較中與比較關(guān)鍵字用來(lái)在函數(shù)或其他局部作用域中使用全局變量。親自動(dòng)手試后,發(fā)現(xiàn)使用了只會(huì)讀閉包內(nèi)的變量,可以隔著多層上一哥們類比看作為步驟 這篇文章是抄抄寫(xiě)寫(xiě)得來(lái)的,純粹是這個(gè)編輯器比筆記的好太多,才在這兒寫(xiě)。 函數(shù)參數(shù)傳遞 Python的函數(shù)參數(shù)傳遞 對(duì)于變量(與對(duì)象相對(duì)的概念),其實(shí),python函數(shù)參數(shù)傳遞可以理解為就是變量傳值操作,用C++的方式理解,就是對(duì)void*賦值。如...

    Lemon_95 評(píng)論0 收藏0
  • 思維導(dǎo)圖整理大廠面試高頻數(shù)組24: 合并兩個(gè)有序數(shù)組的兩種雙指針思想, 力扣88

    摘要:此專欄文章是對(duì)力扣上算法題目各種方法的總結(jié)和歸納整理出最重要的思路和知識(shí)重點(diǎn)并以思維導(dǎo)圖形式呈現(xiàn)當(dāng)然也會(huì)加上我對(duì)導(dǎo)圖的詳解目的是為了更方便快捷的記憶和回憶算法重點(diǎn)不用每次都重復(fù)看題解畢竟算法不是做了一遍就能完全記住的所 ...

    darkerXi 評(píng)論0 收藏0
  • forEach、map、filter、find、sort、some等錯(cuò)點(diǎn)整理

    摘要:最近手頭上做了一個(gè)很大的后臺(tái)管理項(xiàng)目,前端對(duì)復(fù)雜數(shù)據(jù)的處理要求頗高,也確實(shí)讓自己發(fā)現(xiàn)了很多之前被忽視的細(xì)節(jié)。鳴人佐助卡卡西佐助佐助佐助但是很遺憾及更早版本也不支持。 ??最近手頭上做了一個(gè)很大的后臺(tái)管理項(xiàng)目,前端對(duì)復(fù)雜數(shù)據(jù)的處理要求頗高,也確實(shí)讓自己發(fā)現(xiàn)了很多之前被忽視的細(xì)節(jié)。在此特整理出來(lái),希望不熟悉的朋友們們以后可以繞開(kāi)我踩的這些坑。本文初衷在于幫助大家梳理一些數(shù)組操作上的重點(diǎn)和易...

    AJie 評(píng)論0 收藏0
  • JavaScript:面試頻繁出現(xiàn)的幾個(gè)錯(cuò)點(diǎn)

    摘要:針對(duì)于面向?qū)ο缶幊痰摹R驗(yàn)槊嫦驅(qū)ο缶褪轻槍?duì)對(duì)象例子中的守候來(lái)進(jìn)行執(zhí)行某些動(dòng)作。這就是閉包的用途之一延續(xù)變量周期。把變量放在閉包里面和放在全局變量里面,影響是一致的。 1.前言 這段時(shí)間,金三銀四,很多人面試,很多人分享面試題。在前段時(shí)間,我也臨時(shí)擔(dān)任面試官,為了大概了解面試者的水平,我也寫(xiě)了一份題目,面試了幾個(gè)前端開(kāi)發(fā)者。在這段時(shí)間里面,我在學(xué),在寫(xiě)設(shè)計(jì)模式的一些知識(shí),想不到的設(shè)計(jì)模式...

    VincentFF 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<