C語言中指向一位陣列與二維陣列的指標

2021-08-13 15:10:42 字數 1026 閱讀 9805

一維陣列和指標:

對於一位陣列和指標是很好理解的:

一維陣列名:

對於這樣的一維陣列:int a[5]; a作為陣列名就是我們陣列的首位址, a是乙個位址常量 .

首先說說常量和變數的關係, 對於變數來說, 用箱子去比喻再好不過了, 宣告乙個變數就宣告乙個箱子,比如我們開闢出乙個蘋果型別的箱子, 給這個變數賦值就是把盛放蘋果的箱子中放入乙個實實在在的蘋果, 這就是變數的賦值.

而對於陣列來說, 就是一組型別相同的箱子中,一組蘋果箱子, 可以放入不同的蘋果.

一維陣列空間:

變數被宣告後, 我們操作編譯器, 對我們的c原始檔進行編譯, c在編譯的時候 就會給我們的變數開闢相應的空間, 而對於陣列而言, 開闢的空間是連續的. 我們把每個空間叫做儲存單元, 每個空間都是有自己的編號, 就像我們現實生活中每戶人家都有自己的乙個門牌號一樣, 系統陣列空間位址是相連的, 並且我們的陣列名就是一維陣列首位址, 是乙個位址常量.

指標:

既然陣列的是占用連續的儲存單元, 並且陣列的首位址就是陣列名, 我們可以通過指標變數來取出相應的位址.

指標變數, 就是這個箱子是專門存放其他箱子位址的. 我們可以把陣列首位址給我們的指標變數. int a[7],*p; p=a;

二維陣列和指標的理解:

對於初學者對二維陣列和指標的理解很模糊, 或者感覺很難理解, 其實我們和生活聯絡起來, 這一切都會變得清晰透徹.

我們用理解一維陣列的思想來理解二維陣列, 對於一維陣列,每個箱子裡存放的是具體的蘋果, 二維陣列,就是把一維陣列中的內容中又存放了一系列的箱子, 這樣就構成了二維陣列.

這就像一輛火車, 火車有很多節火車廂, 每個火車廂裡面有一趟座位, 那我們火車廂的編號和每個火車座位的編號就不同了. 例如int a[3][4] ; 3節火車廂, 每個火車廂中有四個挨著的座位. 實際的座位的編號和我們的火車廂的編號這是我們要區分開的, 我們的火車廂編號就是a[0],a[1],a2

為防止資料丟失使用二維陣列來表示一位陣列

題目w 25 s 200 n s a 1 a 2 a n 1 n 7 90 define crt secure no warnings 1 include include include include int main 陣列的最後一位用來存放n,二維陣列當一維陣列用,為了記錄每一次的a i 否則資...

C語言 一維陣列與二維陣列

int arr 4 定義了乙個一維陣列,長度為4 說明以下三個分別是什麼型別 1 arr 型別為int 表示陣列元素首位址,即圖中箭頭指向的位置。2 arr 1 型別為int 表示陣列元素首位址 1,即圖中箭頭指向的位置。3 arr 0 型別為int 表示第乙個元素,即圖中紅色的格仔。int brr...

C語言二維陣列指標(指向二維陣列的指標)

二維陣列的定義 int matrix 見圖的操作那篇文章裡面的定義 或者這篇文章提供了另外一種方法。二維陣列在概念上是二維的,有行和列,但在記憶體中所有的陣列元素都是連續排列的,它們之間沒有 縫隙 以下面的二維陣列 a 為例 int a 3 4 從概念上理解,a 的分布像乙個矩陣 0 1 2 3 4...