程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 指向二維數組的指針

指向二維數組的指針

編輯:關於C語言
 

二維數組名(如a)是指向行的。因此a+1中的的“1”代表一行中全部元素所占的字節數。一維數組名(如a[0],a[1])是指向列元素的。a[0]+1中的“1”代表一個元素所占的字節數。
在行指針前面加一個*就轉換成列指針。例如a和a+1它們是行指針,在它們前面加一個*,就是*a和*(a+1),它們就成為列指針,分別指向a數組0行0列的元素和1行0列元素。反之,在列指針前面加&,就成為行指針。例如a[0]是指向0行0列元素的列指針,在它前面加一個&,得&a[0],由於a[0]與*(a=0)等價,因此&a[0]與&*a等價,也就是與a等價,它指向二維數組的0行。

1; a:第0行首地址,*a:0行0列元素地址

2; a[0]<=>*(a+0):0行0列元素地址;

3;&a[0]:0行首地址 &a[0][0]:0行0列元素地址;

4;a[1] :1行0列元素地址 a+1:1行首地址;

5;&a[1][0];<=>*(a+1)=0:1行0列元素地址;

6;a[2]<=>*(a+2):2行0列元素;

7:&a[2]<=>a+2:第2行首地址;

8:a[1][0]<=>*(*(a+1)+0:1行0列元素的“值“(特別注意)

特別注意的是:a+i=a[i]=*(a+i)=&a[i]=&a[i][0]:他們的地址的值是相等的!

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved