數組類型重命名
數組類型由元素類型和數組大小共同決定
數組指針是一個指針,只想對應類型的數組
指針數組是一個數組,其中每個元素都是指針
數組指針遵循指針運算法則
指針數組擁有c語言數組的各種特性
c通過typedef 為數組類型重命名
格式為 typedef type(name)[size]
數組類型:
typedef int(aint5)[5]
typedef float(afloat10)[10]
數組定義:
aint5 iarray; //定義了一個數組
afloat10 farray; //定義了一個數組
數組指針:
aint5* parray;
afloat10* parray;
直接定義:
type(*pointer)[n]; //pointer 是一個指針,type代表指向的數組的類型,n為指向的數組的大小。
code:
#include <stdio.h> typedef int(AINT5)[5]; typedef float(AFLOAT10)[10]; typedef char(ACHAR9)[9]; int main() { AINT5 a1; float fArray[10]; AFLOAT10* pf = &fArray; ACHAR9 cArray; char(*pc)[9] = &cArray; float(*pcw)[10] = &fArray; int i = 0; printf("%d, %d\n", sizeof(AINT5), sizeof(a1)); for(i=0; i<10; i++) { (*pf)[i] = i; } for(i=0; i<10; i++) { printf("%f\n", fArray[i]); } printf("%p, %p, %p\n", &cArray, pc+1, pcw+1); return 0; }