最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

(壹)  敢問指針為何物 

1.1  指針的概念

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

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

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

1.2  指針的背后

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

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

 這里就有2的32次方個地址。     

這里我們就明白:

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

(貳)  指針和指針類

2.1  指針的類型

這里我們在討論一下:指針的類型 我們都知道,變量有不同的類型,整形,浮點型等。那指針有沒有類型呢? 準(zhǔn)確的說:有的。

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

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

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

2.2  指針類型的意義

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

我們來對比一組操作:

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

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

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

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

2.3  指針的解引用

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

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

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

相關(guān)文章

  • C++?STL容器與函數(shù)謂詞示例分析講解

    C++?STL容器與函數(shù)謂詞示例分析講解

    這篇文章主要介紹了C++?STL容器與函數(shù)謂詞示例,STL是“Standard?Template?Library”的縮寫,中文譯為“標(biāo)準(zhǔn)模板庫”。STL是C++標(biāo)準(zhǔn)庫的一部分,不用單獨安裝
    2022-11-11
  • C++ Primer 多維數(shù)組的使用

    C++ Primer 多維數(shù)組的使用

    本文主要介紹了多維數(shù)組在C++語言中的定義、初始化、下標(biāo)引用以及使用范圍for語句處理多維數(shù)組的方法,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • 深入了解c語言的循環(huán)語句

    深入了解c語言的循環(huán)語句

    這篇文章主要為大家介紹了c語言的循環(huán)語句,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • C語言數(shù)組超詳細(xì)講解上

    C語言數(shù)組超詳細(xì)講解上

    數(shù)組是一組有序的數(shù)據(jù)的集合,數(shù)組中元素類型相同,由數(shù)組名和下標(biāo)唯一地確定,數(shù)組中數(shù)據(jù)不僅數(shù)據(jù)類型相同,而且在計算機內(nèi)存里連續(xù)存放,地址編號最低的存儲單元存放數(shù)組的起始元素,地址編號最高的存儲單元存放數(shù)組的最后一個元素
    2022-04-04
  • C++求兩數(shù)之和并返回下標(biāo)詳解

    C++求兩數(shù)之和并返回下標(biāo)詳解

    這篇文章主要介紹了C++求兩數(shù)之和并返回下標(biāo)題目的代碼詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 詳解C語言中的符號常量、變量與算術(shù)表達(dá)式

    詳解C語言中的符號常量、變量與算術(shù)表達(dá)式

    這篇文章主要介紹了C語言中的符號常量、變量與算術(shù)表達(dá)式,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • C++?指針常量和常量指針的區(qū)別小結(jié)

    C++?指針常量和常量指針的區(qū)別小結(jié)

    在C++學(xué)習(xí)使用過程中,每個人都不可避免地使用指針,而且都或多或少的接觸過常量指針或指針常量,本文主要介紹了C++?指針常量和常量指針的區(qū)別小結(jié),感興趣的可以了解一下
    2023-12-12
  • C++ Boost Container庫示例詳細(xì)講解

    C++ Boost Container庫示例詳細(xì)講解

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • C語言員工業(yè)績銷售源代碼

    C語言員工業(yè)績銷售源代碼

    這篇文章主要為大家詳細(xì)介紹了C語言員工業(yè)績銷售源代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 利用C++實現(xiàn)通訊錄管理系統(tǒng)的完整代碼

    利用C++實現(xiàn)通訊錄管理系統(tǒng)的完整代碼

    通訊錄是一個可以記錄親人、好友信息的工具,下面這篇文章主要給大家介紹了關(guān)于利用C++實現(xiàn)通訊錄管理系統(tǒng)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06

最新評論

彰化县| 宁武县| 岚皋县| 图片| 田阳县| 芮城县| 宁陵县| 南城县| 泾川县| 余姚市| 会理县| 文昌市| 邻水| 宜阳县| 南城县| 宜宾市| 古浪县| 宁河县| 读书| 旅游| 博客| 灵璧县| 揭东县| 依安县| 常宁市| 平凉市| 黎平县| 邮箱| 清丰县| 会同县| 阿拉尔市| 宜宾县| 诏安县| 上犹县| 绍兴市| 青冈县| 西藏| 莱芜市| 双鸭山市| 资中县| 天祝|