二維陣列的使用

2021-10-08 14:42:14 字數 3210 閱讀 8138

#define _crt_secure_no_warnings

#include

#include

#include

intdemo01

(void),

,};int a2[3]

[4]=

;int a3[

4]=;

int i =0;

int j =0;

for(i =

0; i <

3; i++

)printf

("\n");

}printf

("\n");

//+16

//二維陣列陣列名代表第0行的首位址(區別於第0行首元素位址,雖然值一樣)

//它們步長不一樣

printf

("a:%d, a+1:%d\n"

, a3, a3+1)

;printf

("%d, %d\n",*

(a3 +0)

,*(a3 +0)

+1);

//第0行首元素位址

printf

("%d, %d\n"

, a3[0]

, a3[0]

+1);

int a[

4]=;

// a : 代表第0行首位址

// a+i -> &a[i] : 代表第i行首位址

// *(a+i) -> a[i] : 代表第i行首元素位址

// *(a+i)+j -> &a[i][j]: 第i行第j列元素的位址

// *(*(a+i)+j) -> a[i][j] = 第i行第j列元素的值

return0;

}void

printa

(int

*a,int n)

printf

("\n");

}int

demo02

(void);

printa((

int*

)a,sizeof

(a)/

sizeof

(a[0][

0]))

;printf

("\n");

return0;

}int

demo03

(void);

//3個 a[4]的一維陣列

#if 0

//定義陣列指標變數

//指向一維陣列的整個陣列首位址

int(

*p)[10]

;//p = &a; //整個二維陣列首位址 p = a;

p = a;

//第0行首位址, p等價於二維陣列名

printf

("p:%d, p+1:%d\n"

, p, p+1)

;//10 * 4= 40

#endif

//定義陣列指標型別,再定義變數

typedef

int(

*p)[10]

; p p;

p = a;

int i =0;

int j =0;

int n =

sizeof

(a)/

sizeof

(a[0])

;int nj =

sizeof

(a[0])

/sizeof

(a[0][

0]);

for(i =

0; i < n; i++

)printf

("\n");

}int t[10]

;printf

("sizeof(t)= %d, sizeof(&t) %d\n"

,sizeof

(t),

sizeof

(&t));

//int a[2][10]

printf

("sizeof(a[0]):%d, sizeof(&a[0]):%d\n"

,sizeof

(a[0])

,sizeof

(&a[0]

));printf

("sizeof( *(a+0) ):%d, sizeof( a+0):%d\n"

,sizeof(*

(a+0))

,sizeof

( a+0)

);printf

("\n");

system

("pause");

return0;

}//陣列做形參都會退化為指標,指標步長不一定一樣

void

printarray

(int a[3]

[4])

printf

("\n");

}printf

("\n");

}//a +1, 一行: 4 * 4 = 16

void

printarray2

(int a[

4])printf

("\n");

}printf

("\n");

}//指標步長不一樣, a+1: 4

void

printarray3

(int

**a)

printf

("\n");

}printf

("\n");

}//陣列指標

void

printarray4

(int

(*a)[4

])printf

("\n");

}printf

("\n");

}//陣列指標型別

二維陣列的使用

public class doubledimensionalarray 輸出第二行第乙個元素的值,也就是4 system.out.println a1 1 0 輸出第三行第三個元素的值,也就是7 system.out.println a1 2 2 輸出二維陣列的長度,實際上就是二維陣列中一維陣列的長...

多維陣列的使用(二維陣列)

規定 二維陣列分為外層陣列的元素,內層陣列的元素 1 理解 對於二維陣列的理解,我們可以看成是一維陣列array1又作為另乙個一維陣列array2的元素而存在。從陣列底層的執行機制來看,其實沒有多維陣列。陣列屬於引用資料型別 陣列的元素也可以是引用資料型別 乙個一維陣列a的元素如果還是乙個一維陣列型...

二維陣列及二維陣列的遍歷

一 如果陣列的元素是一維陣列 則該陣列是二維陣列 如果陣列的元素是二維陣列 則該陣列是三維陣列 注意 二維陣列的長度 是陣列內一維陣列的個數 獲取二維陣列內的元素 第一步獲取該元素在哪乙個一維陣列內 第二步獲取該元素在一維陣列的那個位置 false var arr 1,2,3 var arr1 你好...