指標的用法
在要知道什麼是指標的前提下,我們首先要做的就是搞懂為什麼會有指標?我們需要它來為我們做些什麼?
如上圖為一棟宿舍樓,假如這個宿舍樓的每個房間都一樣並且沒有貼門牌號,那麼李四如果要去找張三,他就只能一間一間的去找,也就是我們所說的通過遍歷的方法找,這樣的查詢效率特別低。
但對於一棟裝修好的宿舍樓來說,它的每個房間都是有房間編號的,那麼張三只要告訴李四他在xx樓xx層xx號,那麼李四就會找到張三。這樣就會大大提高我們的查詢效率!
在計算機中,記憶體中的乙個乙個小方塊就相當於宿舍樓的每一件房子,而張三就在其中的乙個房子中,而我們的cpu要在記憶體中找到張三,為了方便查詢,我們就給記憶體中的每個位元組都帶上了標號,提高查詢效率!
這裡我們也就得出了乙個結論:指標的存在就是為了提高我們的查詢效率!
通過上述的引用,我們也就知道了什麼是指標,指標就是位址!
那麼指標的大小是多少呢?
目前在32位操作平台下,指標的大小都是4個位元組(在64位操作憑條下指標的大小是8個位元組)。
指標是位址。
指標變數是乙個變數,它裡面存放的是指標的位址。
這裡的a是指標,裡面存放的內容是10,而p是指標變數,裡面存放的內容是a的位址。
指標的乙個用就是取位址,這裡我們給a取位址,我們可以看到a的位址為009ff800。
解引用:"*"的作用是引用指標指向的變數值,引用其實就是引用該變數的位址,「解」就是把該位址對應的東西解開,解出來,就像開啟乙個包裹一樣,那就是該變數的值了,所以稱為「解引用」。也就是說,解引用是返回記憶體位址中對應的物件。
我們用乙個圖來講解:
我們在對p進行解引用的時候,我們先訪問p,「*」帶上之後就是把p所指向的內容拿出來。對指標解引用,代表的是指標所指向的「目標」。
對p解引用,這裡的*p就是a。
如果本文章對你有幫助,哪怕一點點,那就請點乙個贊唄,謝謝~~
c語言 初步了解一下指標
指標的基本概念 在計算機中,所有的資料都是存放在儲存器中的.一般把儲存器中的乙個位元組稱為乙個記憶體單元,不同的資料型別所占用的記憶體單元數不等,如整形量佔2個單元,字元量佔1個單元等。為了正確地訪問這些記憶體單元,必須為每個記憶體單元編上號。根據乙個記憶體單元的編號即可準確地找到該記憶體單元。記憶...
初步了解指標
在電腦科學中,指標是程式語言中的乙個物件,利用位址,它的值直接指向存在電腦儲存器中另乙個地方的值。由於通過位址能找到所需的變數單元,可以說,位址指向該變數單元。因此,將位址形象化的稱為 指標 意思是通過它能找到以它為位址的記憶體單元。1.字元指標 char 概念 指的是指向的記憶體單元中儲存的是字元...
二分查詢(C語言)它來了!
二分查詢又稱折半查詢,首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位置記錄將表分成前 後兩個子表,如果中間位置記錄的關鍵字大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表。重複以上過程,直到找到滿足條件的記錄,使查詢成...