日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

如何理解C語言中的指針概念

 wenming044 2019-04-05

編程的本質(zhì)就是如何找到地址,取出數(shù)據(jù),把數(shù)據(jù)傳遞給CPU相應(yīng)的各種寄存器,經(jīng)過運(yùn)算,然后把結(jié)果傳遞到相應(yīng)的存儲(chǔ)區(qū)域。所以C語言從編程的角度來說,變量可以分為兩類,一類是指針型(地址型)變量,另一類是普通變量(value值型變量)

好多人說,C語言的精華是指針,可是好多人就是不理解指針!看到一堆復(fù)雜的由*和小括號(hào)組成的指針就發(fā)暈,無法理解。這種問題產(chǎn)生的本質(zhì)原因是你對(duì)地址型變量的指針的基本概念理解的不茍透徹。本文將幫您解開這個(gè)困惑,幫您走入C語言學(xué)習(xí)的大門。

指針的基本概念

大部分人都會(huì)告訴你指針就是地址,其實(shí)這種理解是有些片面的,不夠深刻。這也是大部分理解不夠透徹的根本原因。

我們的回答是:

指針本質(zhì)上是定義一種模型!

一個(gè)有效的指針變量一定會(huì)包含三個(gè)最重要的信息:

1、該指針?biāo)鶄鬟f的地址值,說白了就是一個(gè)整數(shù) int(32位平臺(tái),就是一個(gè)4字節(jié)的2進(jìn)制整數(shù)),當(dāng)然對(duì)該地址進(jìn)行取*操作,就可以獲得該地址上的所存的數(shù)據(jù)的值。

2、該指針變量所代表的的類型。學(xué)究一點(diǎn)的說法是該指針類型所標(biāo)識(shí)的數(shù)據(jù)結(jié)構(gòu),這個(gè)結(jié)構(gòu)是在定義指針變量的時(shí)候確定的。說的更通俗一點(diǎn),就是該型指針標(biāo)識(shí)的作用范圍。就是該地址的值為起始地址,往后多少個(gè)字節(jié)是屬于這個(gè)變量的數(shù)據(jù)。這一點(diǎn)尤其重要,經(jīng)常會(huì)被忽視而搞暈。

3、該指針的名稱。

我們先以最簡單的基本類型為例,予以說明

int* p1;char* p2;

p1定義了一個(gè)可以存儲(chǔ)一個(gè)int 類型數(shù)據(jù)的指針變量,作用范圍就是-sizeof(int)的長度,名字為p1。

p2定義了一個(gè)可以存儲(chǔ)一個(gè)char類型數(shù)據(jù)的指針變量。作用范圍就是一個(gè)字節(jié)的長度-sizeof(char)

見下圖:

如何理解C語言中的指針概念

指針就像一個(gè)具有一定測量范圍的游標(biāo)卡尺

當(dāng)我們把地址A0(假設(shè)地址)傳遞給P1后,該變量就會(huì)把指針指向該地址,然后根據(jù)自己所能管轄的范圍,向后框住四個(gè)字節(jié),然后取值,就是10300610.而且每次都是要固定的框住四個(gè)字節(jié)(因?yàn)閜1是int 類型的指針)。

同理,對(duì)于p2來說,每次只能框住1個(gè)字節(jié)。當(dāng)我們把地址A6傳遞給p2 時(shí),得到的就是*p2=11

指針變量的運(yùn)算

int類型的數(shù)據(jù),占用4個(gè)字節(jié),本質(zhì)配意思是這四個(gè)字節(jié)當(dāng)做一個(gè)整體來看待,不能拆開。

當(dāng)p1 做+n(整數(shù))操作時(shí),相當(dāng)于指針地址指向需要整體移動(dòng)4*n個(gè)字節(jié)單位。p2由于是char*類型的,每加1,代表向后移動(dòng)一個(gè)字節(jié),相應(yīng)地址也+1。

如下圖所示:

如何理解C語言中的指針概念

可見指針變量的加減操作就像是游標(biāo)卡尺在左右滑動(dòng)。所框的范圍里面的值就是需要取得值。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多