指標的指標如何理解?

  • 作者:由 匿名使用者 發表于 體育
  • 2023-01-16

指標的指標如何理解?⒈顆糖果!2020.05.09 回答

你知道的,所有變數編譯器都會為其分配記憶體空間,以便儲存一個值,既然佔用記憶體就會存在一個地址,包括指標變數。

指標變數儲存的是其他變數的地址。

而指標的指標,儲存的就是另一個指標的地址。

你懂的,定義指標使用星號,而指標的指標,定義的時候使用兩個星號。

比如:

int a=10;

int *p;//指標

int **pp;//指標的指標

p=&a;//取a的地址賦值給p

pp=&p;//取p的地址賦值給pp

**p=20;//使用指標的指標對a賦值,間接的間接賦值。

指標的指標如何理解?匿名使用者2014.04.24 回答

打個比方 抽屜是儲存單元,就是我們放資料的地方。抽屜的鑰匙就是指標,有鑰匙我們就能找到抽屜裡面的東西。 那麼指標的指標就是 一個“裝著鑰匙的抽屜“ 的 鑰匙

指標的指標如何理解?技術支援2014.04.24 回答

理解指標之前,先理解變數的概念,記憶體是應用程式儲存資料的地方,分配記憶體的時候應考慮的兩個因素: 1、要分配多少記憶體? 2、每塊資料在記憶體中儲存的地方? c語言使用符號名字,即變數名。變數指代記憶體中存放某特定值的位置,資料型別決定了給變數分配記憶體的數量,儲存特定資料的變數名,使我們更容易使用記憶體。變數的資料型別決定了分配給儲存特定資料的的記憶體大小。 定義變數的意義: 1、分配記憶體。 2、透過變數名指定在記憶體中的位置。 例如命名一個變數var,可以使更加方便地存取記憶體,宣告變數時使用不同型別符來進行宣告,如int、float 等,被宣告為int型的變數佔用2個位元組的記憶體空間,被宣告為float型的變數佔用4個位元組的記憶體空間。 定義一個指標變數,同樣使用變數名,如 int *p、float *pp,不過這裡的p和pp均為指標變數,p和pp中存放的不是實際值,而是存放記憶體地址,即存放資料在記憶體中存放的起始位置。 那麼 *p 和 *pp 實際佔用記憶體空間有多大呢?由型別說明符來確定,因為 *p被說明為int型,所以佔用2個位元組,這2個位元組是從p指定地址開始的連續2個位元組;同樣,*pp被說明為float型,所以佔用4個位元組,這4個位元組是從pp指定地址開始的連續4個位元組。 我們可以使用*p和*pp來存取指標變數的值,在指標變數之前冠上*之後,使用與普通變數相同。不過需要注意的是,必須先為指標變數(如p)賦值,之後方可對*p進行存取操作。

Top