//数组类型与数组指针类型 #include<stdio.h> #include<stdlib.h> #include<string.h> void main(){ printf(" -------数组类型---------- "); { //定义一个数组类型 typedef int Myarr[5];//定义了一个int型有5个元素的数组类型 //定义一个数组类型变量 Myarr myarr; //数组赋值 int i = 0; for (i = 0; i < 5; i++) { myarr[i] = i * 2; } //打印数组的值 for (i = 0; i < 5; i++) { printf("%d ", myarr[i]); } } printf(" -------数组指针类型①---------- "); { //首先定义一个数组类型 typedef int Myarr[5]; //定义一个数组指针变量 类比: int a; int *pa; Myarr * pmyarr = NULL; //定义一个数组 Myarr a; //定义一个数组指针 pmyarr = &a; //为数组赋值 int i = 0; for (i = 0; i < 5; i++) { (*pmyarr)[i] = i + 3; } //打印数组 for (i = 0; i < 5; i++) { printf("%d ", (*pmyarr)[i]); } } printf(" -------数组指针类型②---------- "); { //定义一个数组指针类型 typedef int(*PArrType)[5]; //定义数组指针变量 PArrType parr = NULL; int a[5] = { 0 }; parr = &a; //为数组赋值 int i = 0; for (i = 0; i < 5; i++) { (*parr)[i] = i + 5; } //打印数组 for (i = 0; i < 5; i++) { printf("%d ", (*parr)[i]); } } printf(" -------数组指针类型③---------- "); { //直接定义数组指针变量 int(*parr)[5]; int a[5] = { 0 }; parr = &a; //为数组赋值 int i = 0; for (i = 0; i < 5; i++) { (*parr)[i] = i + 5; } //打印数组 for (i = 0; i < 5; i++) { printf("%d ", (*parr)[i]); } } system("pause"); }