陣列與指標:
那麼如何表示陣列中其他元素的位址以及其他元素本身呢?
p+i或a+i就是a[i]的位址;相應的,
*(p+i)或*(a+i)就表示的a[i]元素。
已經提到了陣列名代表陣列首元素位址了,那麼所有用陣列名做引數的函式都可以改寫
成用指標做引數的函式。
二:多維陣列的情況。
這裡,讀者首先有個意識,多維陣列每一維也都是一維陣列。假設有個二維陣列a[3][4],那麼a[0],a[1],a[2]都是乙個一維陣列(他們是陣列名,也是位址)。於是你能較為抽象的理解一下幾個表示方法。
a 二維陣列名,指向一維陣列a[0],0行首位址
a+1, &a[1] 一行首位址
*(a+1), a[1] 一行零列元素位址
*(a+1)+2,a[1]+2 一行二列元素位址
*(*(a+1)+2), *(a[1]+2) 一行二列元素的值
上面這幾個表示形式一定要注意,尤其是:a+1表示一行首位址,*(a+1)表示
一行零列元素位址,雖然他們的值時相同的,但是他們是不同的,a+1+1表示二行首位址,而*(a+1)+1表示一行一列元素的位址。
認真體會下面兩個程式。
二維陣列和指標的關係這方面很多東西很抽象,並且很多東西是***直覺的,博主理解起來也有些吃力,各位有什麼方法也歡迎反饋。
C語言入門之指標用法教程
對於c語言初學者來說,需要明白指標是啥?重點就在乙個 指 上。指啥?指的位址。啥位址?記憶體的位址。上面說明就是指標的本質了。這裡再詳細解釋下。資料存起來是要存在記憶體裡面的,就是www.cppcns.com在記憶體裡圈出一塊地,在這塊地里放想放的東西。變數關心的是這塊地里放的東西,並不關心它在記憶...
C語言指標教程 入門到精通《一》
一 指標是什麼?指標也是乙個變數,但是這個變數儲存的是乙個位址,指向乙個儲存單元。我們可以根據指標 位址 找到他所指的變數,並對這個變數進行操作 賦值等 通過c裡面的取位址符號 和取所指內容的符號 可以很方便的表示指標以及指標所指的變數之間的關係。二 為什麼要用指標?為什麼要用指標?指標能夠帶來哪些...
《轉》C語言指標5分鐘教程
什麼是指標?什麼是記憶體位址?什麼叫做指標的取值?指標是乙個儲存計算機記憶體位址的變數。在這份教程裡 引用 表示計算機記憶體位址。從指標指向的記憶體讀取資料稱作指標的取值。指標可以指向某些具體型別的變數位址,例如int long和double。指標也可以是void型別 null指標和未初始化指標。本...