#define _crt_secure_no_warnings
#include
#include
#include
intmain01()
,,};
int a2[3]
[4]=
;int a3[
4]=;
int i =
0, j =0;
for(i =
0; i <
3; i++
)printf
("\n");
}printf
("\n");
//二維陣列陣列名代表第0行首位址(區別於第0行首元素位址,雖然值一樣)
//它們步長不一樣
printf
("a:%d, a+1:%d\n"
, a3, a3 +1)
;//+4*4
printf
("%d, %d\n",*
(a3 +0)
,*(a3 +1)
);//+16
printf
("%d, %d\n"
, a3[0]
, a3[0+
1]);
//同上
printf
("%d, %d\n",*
(a3 +0)
,*(a3 +0)
+1);
//+4
printf
("%d, %d\n"
, a3[0]
, a3[0]
+1);
//同上
int a = a3;
//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列的元素的值
printf
("\n");
system
("pause");
return0;
}void
printa
(int
** a,
int n)
printf
("\n");
}int
main02
(void);
printa((
int*
)a,sizeof
(a)/
sizeof
(a[0][
0]))
;printf
("\n");
system
("pause");
return0;
}int
main03
(void);
//2個 a[10]的一維陣列
#if 0
//定義陣列指標變數
//指向一維陣列的整個陣列首位址
int(
*p)[10]
;//p = &a;//error,整個二維陣列首位址 p = a;
p = a;
//p等價於二維陣列名,第0行首位址
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, 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]
//40 4
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[
4])//7k
printf
("\n");
}printf
("\n");
}void
printarray2
(int
(*a)[4
])//9k
printf
("\n");
}printf
("\n");
}typedef
int(
*p)[4]
;void
printarray3
(p a)
//同上
printf
("\n");
}printf
("\n");
}int
main
(void);
printarray3
(a);
printf
("\n");
system
("pause");
return0;
}
C語言二維陣列
int main int argc,const char argv int array 5 建立乙個二維陣列 型別修飾符陣列名 包含幾個小陣列 每個小陣列有多少個元素 初始值如何寫?int array 3 4 一維陣列可以省略元素個數,二維陣列只能省略第一位 第乙個 3 可以不寫 第二種初始值寫法 ...
C語言 二維陣列
c語言之二維陣列 1 定義的基本格式 int a 1 2 1代表一行,2代表二列 難點 二維陣列的行列下標。字串結束標誌的實用。2 一維陣列和二維陣列的聯絡。一維陣列如同千層面一樣一層一層的,而二維陣列,只是給千層面切了幾刀 3 int a 2 3 a 0 0 是1,a 0 1 是2,a 0 2 是...
C語言 二維陣列
1 陣列名稱不可以代表儲存區 2 陣列名稱可以代表陣列裡第乙個儲存區的位址 3 可以對陣列名稱進行sizeof計算,結果是陣列裡所有儲存區的總大小 4 c99規範裡可以使用變長陣列,宣告變長陣列的時候可以用變數表示陣列裡的儲存區個數 5 某一次程式執行過程中變長陣列裡儲存區個數不會變化 6 如果程式...