亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言修煉之路初識(shí)指針陰陽竅?地址還歸大道真上篇

 更新時(shí)間:2022年02月26日 16:07:45   作者:玄澈_  
指針是指向另一個(gè)變量的變量。意思是一個(gè)指針保存的是另一個(gè)變量的內(nèi)存地址。換句話說,指針保存的并不是普通意義上的數(shù)值,而是另一個(gè)變量的地址值。一個(gè)指針保存了另一個(gè)變量的地址值,就說這個(gè)指針“指向”了那個(gè)變量

(壹)  敢問指針為何物 

1.1  指針的概念

在計(jì)算機(jī)科學(xué)中,指針(Pointer)是編程語言中的一個(gè)對(duì)象,利用地址,它的值直接指向(points to)存在電腦存儲(chǔ)器中另一個(gè)地方的值。由于通過地址能找到所需的變量單元,可以說,地址指向該變量單元。因此,將地址形象化的稱為“指針”。意思是通過它能找到以它為地址的內(nèi)存單元。

那我們就可以這樣理解  --》 指針是個(gè)變量,存放內(nèi)存單元的地址(編號(hào))。

總結(jié):指針就是變量,用來存放地址的變量。(存放在指針中的值都被當(dāng)成地址處理)。

1.2  指針的背后

經(jīng)過仔細(xì)的計(jì)算和權(quán)衡我們發(fā)現(xiàn)一個(gè)字節(jié)給一個(gè)對(duì)應(yīng)的地址是比較合適的。

對(duì)于 32位 的機(jī)器,假設(shè)有 32根地址線 ,那么假設(shè)每根地址線在尋址的是產(chǎn)生一個(gè)電信號(hào)正電/負(fù)電(1或者0)

 這里就有2的32次方個(gè)地址。     

這里我們就明白:

  • 在32位的機(jī)器上,地址是32個(gè)0或者1組成二進(jìn)制序列,那地址就得用4個(gè)字節(jié)的空間來存儲(chǔ),所以一個(gè)指針變量的大小就應(yīng)該是4個(gè)字節(jié)。
  • 那如果在64位機(jī)器上,如果有64個(gè)地址線,那一個(gè)指針變量的大小是8個(gè)字節(jié),才能存放一個(gè)地址。
  • 指針是用來存放地址的,地址是唯一標(biāo)示一塊地址空間的。
  • 指針的大小在32位平臺(tái)是4個(gè)字節(jié),在64位平臺(tái)是8個(gè)字節(jié)。

(貳)  指針和指針類

2.1  指針的類型

這里我們?cè)谟懻撘幌拢褐羔樀念愋?我們都知道,變量有不同的類型,整形,浮點(diǎn)型等。那指針有沒有類型呢? 準(zhǔn)確的說:有的。

當(dāng)有這樣的代碼:

要將&num(num的地址)保存到p中,我們知道p就是一個(gè)指針變量,那它的類型是怎樣的呢? 我們給指針變量相應(yīng)的類型。 

這里可以看到,指針的定義方式是:type + *。 其實(shí): char*類型的指針是為了存放 char 類型變量的地址。 short* 類型的指針是為了存放 short 類型變量的地址。 int*類型的指針是為了存放int 類型變量的地址。

2.2  指針類型的意義

如下圖所例:使用char*是可以存放int類型的地址的(都是四個(gè)字節(jié)),但真的有怎么簡(jiǎn)單嗎?

我們來對(duì)比一組操作:

 我們可以看到,賦值后的a只改變的一個(gè)字節(jié)的大小

 綜上,我們可以得出以下結(jié)論:

  • 指針類型決定了指針解引用操作的時(shí)候,一次訪問幾個(gè)字節(jié)(即訪問內(nèi)存的大小)
  • 指針的類型決定了指針向前或者向后走一步有多大(距離)。
  • 決定了 指針 +- 整數(shù)的步長(zhǎng)

大家有興趣的話也可以去分析以下代碼,加深對(duì)于指針類型的理解 

2.3  指針的解引用

這個(gè)代碼的實(shí)現(xiàn)就交給大家自己去調(diào)試?yán)???

總結(jié): 指針的類型決定了,對(duì)指針解引用的時(shí)候有多大的權(quán)限(能操作幾個(gè)字節(jié))。 比如:char*的指針解引用就只能訪問一個(gè)字節(jié),而int*的指針的解引用就能訪問四個(gè)字節(jié)。

到此這篇關(guān)于C語言修煉之路初識(shí)指針陰陽竅 地址還歸大道真的文章就介紹到這了,更多相關(guān)C語言 指針內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實(shí)現(xiàn)LeetCode(63.不同的路徑之二)

    C++實(shí)現(xiàn)LeetCode(63.不同的路徑之二)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(63.不同的路徑之二),本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++深入分析講解鏈表

    C++深入分析講解鏈表

    當(dāng)我們?cè)趯懸欢未a時(shí),如果要頻繁的在一塊區(qū)域進(jìn)行插入或者刪除操作時(shí),會(huì)發(fā)現(xiàn)用數(shù)組實(shí)現(xiàn)會(huì)比較復(fù)雜,這時(shí)候我們就要用另一種數(shù)據(jù)結(jié)構(gòu),鏈表來實(shí)現(xiàn)
    2022-06-06
  • C語言實(shí)現(xiàn)手機(jī)電話簿管理系統(tǒng)

    C語言實(shí)現(xiàn)手機(jī)電話簿管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)手機(jī)電話簿管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言中反斜杠的作用及說明

    C語言中反斜杠的作用及說明

    這篇文章主要介紹了C語言中反斜杠的作用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • c++中容器之總結(jié)篇

    c++中容器之總結(jié)篇

    本文總結(jié)了C++的容器,其大致可以分為兩個(gè)大類:順序容器和關(guān)聯(lián)容器,需要了解的朋友可以參考下
    2015-07-07
  • Qt編寫自定義控件實(shí)現(xiàn)抽獎(jiǎng)轉(zhuǎn)盤

    Qt編寫自定義控件實(shí)現(xiàn)抽獎(jiǎng)轉(zhuǎn)盤

    這篇文章主要為大家詳細(xì)介紹了Qt編寫自定義控件實(shí)現(xiàn)抽獎(jiǎng)轉(zhuǎn)盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • ubuntu系統(tǒng)vscodeC++編譯環(huán)境配置與使用方式

    ubuntu系統(tǒng)vscodeC++編譯環(huán)境配置與使用方式

    這篇文章主要介紹了ubuntu系統(tǒng)vscodeC++編譯環(huán)境配置與使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • C語言詳解關(guān)鍵字sizeof與unsigned及signed的用法

    C語言詳解關(guān)鍵字sizeof與unsigned及signed的用法

    這篇文章主要為大家詳細(xì)介紹了C語言關(guān)鍵字sizeof&&unsigned&&signed,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言實(shí)現(xiàn)導(dǎo)航功能

    C語言實(shí)現(xiàn)導(dǎo)航功能

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)導(dǎo)航功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言多線程開發(fā)中死鎖與讀寫鎖問題詳解

    C語言多線程開發(fā)中死鎖與讀寫鎖問題詳解

    死鎖是指多個(gè)線程因競(jìng)爭(zhēng)資源而造成的僵局(互相等待);有些公共數(shù)據(jù)修改的機(jī)會(huì)很少,但其讀的機(jī)會(huì)很多。并且在讀的過程中會(huì)伴隨著查找,給這種代碼加鎖會(huì)降低我們的程序效率。讀寫鎖可以解決這個(gè)問題;
    2022-05-05

最新評(píng)論