6.数组类型和数组指针类型
一.数组类型
定义一个数组类型:
typedef int MyArrayType[5];
使用这个数组类型:
void main() { typedef int MyArrayType[5]; MyArrayType myArray; int i = 0; for (i = 0; i < 5; i++) { myArray[i] = i + 1; } for (i = 0; i < 5; i++) { printf("%d\n",myArray[i]); } int a[5]; MyArrayType *pArray = NULL; // 定义一个数组类型的指针 pArray = &a; system("pause"); }
二.数组指针类型
定义一个数组指针类型:
typedef int(*MyPArrayType)[5];
使用这个数组指针类型:
void main() { typedef int(*MyPArrayType)[5]; MyPArrayType myPoint; // 相当于定义一个指向int[5]类型的指针 int b[5]; myPoint = &b; int i = 0; for (i = 0; i < 5; i++) { (*myPoint)[i] = i + 1; } for (i = 0; i < 5; i++) { printf("b[%d] = %d\n",i,(*myPoint)[i]); } system("pause"); }
三.直接定义指针变量
定义一个数组指针类型:
int(*mypArrayPoint)[5];
使用这个数组指针类型:
void main() { int c[5]; int(*mypArrayPoint)[5]; int i = 0; mypArrayPoint = &c; for (i = 0; i < 5; i++) { (*mypArrayPoint)[i] = i + 1; } for (i = 0; i < 5; i++) { printf("c[%d] = %d\n", i, (*mypArrayPoint)[i]); } system("pause"); }