摘要:本文重點字符指針指針數(shù)組數(shù)組指針數(shù)組傳參和指針傳參引在指針的初階已接觸過指針的概念,并介紹了如下內(nèi)容指針是個變量,用來存放地址,地址唯一標識一塊內(nèi)存空間,所以地址也形象的被稱作指針。解析指針數(shù)組指針數(shù)組即,存放指針的數(shù)組。
在指針的初階已接觸過指針的概念,并介紹了如下內(nèi)容
1.指針是個變量,用來存放地址,地址唯一標識一塊內(nèi)存空間,所以地址也形象的被稱作指針。
2.指針大小是固定的4/8字節(jié)(32位平臺/64位平臺)。
3.指針是有類型的,類型決定被看待的視角,即決定了 指針 ± 整數(shù) 跳過的步長;指針解引用 時的訪問權(quán)限。
4.指針的運算:指針 ± 整數(shù);指針 - 指針;指針大小比較。
有關(guān)這部分內(nèi)容還有好多細節(jié),我還沒寫文章,為了使內(nèi)容連貫后期會考慮補一篇。
這篇文章,將探討有關(guān)指針的高級主題。
同時,《指針與數(shù)組面試題的解析》也在籌備中了,小伙伴們期待吧! 哈哈哈
正文開始@邊通書
字符指針有下面兩種使用場景:
1.指向字符
2.指向字符串
那么就有這樣一道面試題:
小伙伴們先來自己做做做看吶。
#include int main(){ char str1[] = "hello Asi."; char str2[] = "hello Asi."; char *str3 = "hello Asi."; char *str4 = "hello Asi."; if (str1 == str2) printf("str1 and str2 are same/n"); else printf("str1 and str2 are not same/n"); if (str3 == str4) printf("str3 and str4 are same/n"); else printf("str3 and str4 are not same/n"); return 0;}
解析:
指針數(shù)組即,存放指針的數(shù)組。
寫幾段代碼,感受一下它的使用:
代碼1:
代碼2:
代碼3:
這里 指針±整數(shù) 的等價思想還是比較有用的。
數(shù)組指針是什么?指針還是數(shù)組?
答案是:指針。其實做一個類比就好。
先做一個小小的知識鋪墊,其實本來也是該包含在初階內(nèi)容之中滴。
即arr與&arr的區(qū)別:
定義類比:
這里既然知道了數(shù)組指針的概念,就做一道小練習:
問:p的類型應該怎么寫?
#include int main(){ int* arr[10] = { 0 }; //p = &arr; //問:p的類型應該怎么寫? return 0;}
解析:
數(shù)組指針的使用
數(shù)組指針用對還是蠻好用的,但用錯了那是非常別扭。
錯誤示范:
那數(shù)組指針到底是怎樣訪問到每個元素的呢?
下面就來看數(shù)組指針在二維數(shù)組中怎樣使用:
介紹了數(shù)組指針和指針數(shù)組的,我們一起來看看下面代碼是什么意思:
int arr[5];int *parr1[10];int (*parr2)[10];int (*parr3[10])[5];
解析:
寫代碼的時候難免要把【數(shù)組】或【指針】傳給函數(shù),那函數(shù)的參數(shù)如何設計呢?
4.1 一維數(shù)組傳參
4.2 二維數(shù)組傳參
4.3 一級指針傳參
反向思考:當 函數(shù)參數(shù) 部分是一級指針時候,函數(shù)能接收什么參數(shù)?
4.4 二級指針傳參
反向思考:當 函數(shù)參數(shù) 部分是二級指針時候,函數(shù)能接收什么參數(shù)?
未完待續(xù)@邊通書。
劇透:
中篇將介紹:點擊直達三文讀透指針語法(中篇)@指針的進階—函數(shù)指針+函數(shù)指針數(shù)組+指向函數(shù)指針數(shù)組的指針
- 函數(shù)指針
- 函數(shù)指針數(shù)組
- 指向函數(shù)指針數(shù)組的指針,
下篇將介紹:
回調(diào)函數(shù)
敬請期待!
同時,鄙人才疏學淺,如果有錯誤和理解不到位之處,或是建議,衷心希望能得到您的指教。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/118795.html
摘要:三文讀透指針上篇本文將繼續(xù)介紹有關(guān)函數(shù)指針的相關(guān)內(nèi)容。在大型工程里,函數(shù)指針應用還是挺普遍的。首先看閱讀下面兩段有趣的代碼出自語言陷阱與缺陷看看他們是什么意思代碼代碼函數(shù)指針數(shù)組函數(shù)指針數(shù)組,即存放函數(shù)指針的數(shù)組。 ...
摘要:本章節(jié)在此基礎上,對語言階段指針進行更深層次的研究。數(shù)組指針的類型由數(shù)組類型決定,先找出數(shù)組的類型去掉名就是類型。相當于數(shù)組指針所指向數(shù)組的數(shù)組名。數(shù)組指針指向整個數(shù)組,將其看作二維數(shù)組并解引用得到一行的首元素,從而遍歷訪問。 ...
摘要:所以是數(shù)組指針,而是指針數(shù)組。因為對一個二維數(shù)組,可以不知道有多少行,但是必須知道一行多少元素。當二維數(shù)組數(shù)組名傳參,形參接收時,數(shù)組的行可以省略,列不能省略,如果省略了列,我們就無法知道當指針加減跳過幾個字節(jié)。 ...
摘要:故使用無具體類型,又稱通用類型,即可以接收任意類型的指針,但是無法進行指針運算解引用,整數(shù)等。求指針所占字節(jié)而不是解引用訪問權(quán)限大小。數(shù)組就是整個數(shù)組的大小,數(shù)組元素則是數(shù)組元素的大小,指針大小都為。 ...
閱讀 1942·2023-04-26 00:59
閱讀 3211·2021-11-15 18:10
閱讀 3147·2021-09-22 16:02
閱讀 833·2021-09-02 15:15
閱讀 3793·2019-08-30 15:56
閱讀 1975·2019-08-30 15:54
閱讀 2930·2019-08-29 16:31
閱讀 2101·2019-08-29 16:10