1.1 基本概念
1.1.1 概念
1)元素型別角度:陣列是相同型別的變數的有序集合 測試指標變數占有記憶體空間大小
2)記憶體角度:聯絡的一大片記憶體空間
1.1.2 陣列初始化
int
main()
;//其他初始化為0
int b=
;int c[20]
=;for(i=
0; i<
10; i++
)memset
(a,0
,sizeof
(a))
;return0;
}
1.1.3 陣列名的技術盲點
1)陣列首元素的位址和陣列位址是兩個不同的概念
2)陣列名代表陣列首元素的位址,它是個常量。
解釋如下:變數本質是記憶體空間的別名,一定義陣列,就分配記憶體,記憶體就固定了。所以陣列名起名以後就不能被修改了。
3)陣列首元素的位址和陣列的位址值相等
4、怎麼樣得到整個一維陣列的位址? &buf
c語言規定:
int a[10];
printf(「得到整個陣列的位址a: %d \n」, &a);
printf(「陣列的首元素的位址a: %d \n」, a);
怎麼樣表達int a[10]這種資料型別那?
1.2 陣列型別、陣列指標型別、陣列指標型別變數
1.2.1 陣列型別
//typedef int (myint)[5];
intmain()
for(i =
0;i<
5; i++
)printf
("arr: %d, arr+1 :%d\n"
,arr,arr+1)
;//arr代表陣列首元素位址
printf
("&arr: %d, &arr+1 :%d\n"
,&arr,
&arr+1)
;// &arr代表整個陣列的位址
return0;
}
1.2.2 陣列指標型別
1.2.2.1陣列指標型別
陣列指標用於指向乙個陣列
定義陣列指標 有兩種
通過陣列型別定義陣列指標:
typedef
int(arraytype)[5
];int*a
arraytype* pointer;
宣告乙個陣列指標型別 typedef int (*mypointer)[5];
mypointer mypoint;
直接定義:int (*pointer)[n];
pointer 為陣列指標變數名
type 為指向的陣列的型別
n 為指向的陣列的大小
1.2.2.2 陣列指標型別案例
int
main()
for(i=
0;i<
5;i++
)}
int
main()
for(i=
0;i<
5;i++
)return0;
}
int
main()
for(i=
0;i<
5;i++
)return0;
}
1.3多維陣列本質
1.3.1 本質
多維陣列的本質就是陣列指標
//多維陣列名的本質 陣列指標 ,步長 一維的長度
// (a+i) 代表是整個第i行的位址 二級指標
// *(a+i) 代表 1級指標 第i行首元素的位址
// (a+i) + j ===> & a[i][j]
//( (a+i) + j) =>a[i][j]元素的值
//a[i][j] <= >( *(a+i) + j)
//a[i] ===> a[0+i] ==> *(a+i);
//a[i][j] === a[0+i][j] ==> *(a+i)[j] ===> *(a+i)[0 + j] ==> *( *(a+i) + j)
1.4 指標陣列的應用
1.4.1
//誰呼叫函式,誰分配記憶體
//作業系統分配記憶體,
intmain
(int argc,
char
* ar**,
char
**env)
// for(i=0; ar**[i]!=null; i++)
//
printf
("******************* end ar** *******************\n");
printf
("\n");
printf
("\n");
printf
("\n");
printf
("******************* begin env *******************\n");
for(i=
0; env[i]
!=null
; i++)//
printf
("******************* end env*******************\n");
return0;
}
1.4.2
1.4.3
C語言之陣列
c語言之陣列 一,一維陣列 1,一維陣列的定義 型別符 陣列名 常量表示式 注 1 常量表示式中可以包括常量和符號常量.int a 3 5 是合法的,int a n 是不合法的,c語言不允許對陣列的大小作動態定義 2 如果在被呼叫的函式 不包括主函式 中定義陣列,起長度可以是變數或非常量表示式,可稱...
C語言之陣列
c語言陣列 一 陣列的概念 用來儲存一組資料的構造資料型別 特點 只能存放一種型別的資料,如全部是int型或者全部是char型,陣列裡的資料成為元素。二 陣列的定義 格式 型別 陣列名 元素個數 舉例 儲存5個人的年齡 int agrs 5 在記憶體中開闢4x5 20個位元組的儲存空間 可以在定義陣...
C語言之陣列
一 一維陣列 1.1 一維陣列的定義 1.一維陣列是指數組中的每個元素只帶有乙個下標的陣列。定義方式為 型別說明符 陣列名 常量表示式 1.2 一維陣列元素的引用 1.陣列元素的引用形式為 陣列名 下標表示式 2.乙個陣列元素實質上市乙個變數名,代表記憶體中的乙個儲存單元,乙個陣列佔據的是一連串連續...