上篇講了基本型別的指標的內容。包括指標的定義,含義等等,鏈結在這裡c語言中的指標(一)
這次總結一下指標與陣列的關係。。。
指標和一維陣列的關係
一維陣列名是乙個指標常量,它存放的是一維陣列第乙個元素的位址,它的值是不能被改變的,舉個例子就知道了
#include
int main()
執行這個結果之後,輸出結果是一樣的,下面是linux環境中的輸出結果
[root@localhost tmp]# ./test1
0x7cb66550
0x7cb66550
下面說陣列中下標和指標的關係。
定義乙個一維陣列 int a[5];實際就是定義了乙個5個物件組成的集合,如圖
若定義乙個指標int *pa;若賦值pa=&a[0];說明p指向了陣列a中的第0個元素,也就是說pa的值是a[0]的位址。如圖
還有需要注意的就是執行pa=&a[0]之後,pa等價於a,即pa=a;那 *a=a[0];那麼 *(a+i)=a[i],也是成立的,總結上面就是一句話
通過陣列名和下標實現的表示式等價於通過該指標和偏移量來實現。
但是,要注意,不同點就是pa是指標變數,pa=a和pa++是合法的語句,但是a=pa和a++是不合法的語句,因為a不是變數,是陣列名
C 語言中的指標
指標是 c 語言中的精華,正確靈活的運用指標,可以表示複雜的資料結構,動態分配記憶體,方便使用字串和陣列,呼叫函式返回多結果,直接處理記憶體單元等等。位址就是記憶體的編號,如果拿旅店作為記憶體,那麼每個房間號其實就相當於位址了。當程式編譯時,就會對變數分配記憶體單元,分配時按變數型別分配大小。經過編...
C語言中的指標
隨著程式語言的越來越多,但c語言在程式語言中的地位似乎始終沒有改變,其中得益於c語言中的指標,可以直接去操作記憶體位址與暫存器,執行效率也高,在嵌入式領域運用得尤其廣泛。對於初學者來說指標是c語言中很難翻越的一座大山,指標的掌握程度直接關係到c語言的掌握程度,其實指標並不是那麼高不可攀,只是紙老虎而...
C語言中的指標
指標是c語言中非常重要的東西,書本上寫了好多來解釋裡面的原理,當年老師也跟我們講了好多這方面的東西,一直就是感覺沒有聽明白。直到我看到了指向指標的指標,我建立了自己的理解,不知道是否正確,但是基本能解決遇到的問題。int p p i p。type p,宣告指標變數,type 例如int 告訴計算機p...