#include
"stdio.h"
#include
"stdlib.h"
#include
"string.h"
void
main33()
;//1 myarray陣列首元素的位址吧
//2 myarray是乙個常量指標 3k
//3 myarray是乙個陣列指標
int myarray[3]
[5];
//直接定義乙個陣列指標
int(
*p)[5]
=&a;
for(i=
0; i<
5; i++
)//&a 步長 5*4 = 20;
for(i=
0; i<
3; i++)}
printf
("myarray:%d myarray+1:%d\n"
, myarray, myarray+1)
;printf
("\n&a:%d &a+1:%d \n"
,&a,
&a+1);
p = myarray;
for(i=
0; i<
3; i++)}
system
("pause");
}//1 不管是幾維陣列,都是線性儲存的。所以會存在多維陣列做函式引數,退化問題
//2 多維陣列做函式引數 二維陣列,能勉強表達出來。但是三維陣列,四維陣列,,就表達不出來了。
//結論:指標做函式引數,有效記憶體維數,只到2級。。如果你看到3級指標 4級指標,它表示的不是記憶體的維數
intprintf2array
(int
*a,int num)
}//int myarray(int a[5])
void
main35()
} p =
(int
*)myarray;
printf2array
(p,3*5
);system
("pause");
}
1、不管是幾維陣列,都是線性儲存的。所以會存在多維陣列做函式引數的退化問題
2、多維陣列做函式引數 二維陣列,能勉強表達出來。但是三維陣列,四維陣列,,就表達不出來了。
結論:指標做函式引數,有效記憶體維數,只能表達2級。。如果看到3級指標 4級指標,它表示的不是記憶體的維數。
陣列型別和多維陣列本質
1 元素型別角度 陣列是相同型別的變數的有序集合 測試指標變數占有記憶體空間大小 2 記憶體角度 聯絡的一大片記憶體空間 陣列初始化 陣列元素的個數可以顯示或隱式指定,分析陣列初始化與memset比較。與memset 耗時差不多,但 可能有移植性問題,雖然絕大多數編譯器看到 都是將陣列全部初始化為0...
陣列 多維陣列本質和字元陣列語法
初學c語言,記錄一下學習過程。引入陣列的原因 要宣告很多變數 程式冗長 可擴充套件性差 陣列必須先定義,後使用 只能逐個引用陣列元素,不能一次引用整個陣列 int a 5 a 4 10 可以沒初始化陣列就對其中的乙個元素賦值 但不能a 5 10,這樣就越界了。排序的應用例項 待補充 多維陣列本質是一...
多維陣列名的本質
define crt securre no warnings include include include 多維陣列列印函式 void printarr1 int a 3 5 多維陣列列印函式 void printarr2 int a 5 多維陣列列印函式 void printarr3 int a...