C 数组类型语法总结
数组类型语法总结
数组指针 和 指针数组 区分
数组指针是一个指针,只对应类型的数组。指针数组是一个数组,其中每个元素都是指针
数组指针遵循指针运算法则。指针数组拥有c语言数组的各种特性
数组类型重命名
C 通过 typedef 为数组类型 重命名
**格式 : **typedef type (name)[size]
定义数组类型
typedef int (aint)[10];
typedef float (afloat)[10];
用数组类型定义数组
aint iarray; //定义了一个数组
afloat farray; //定义了一个数组
定义指针数组类型
typedef int (*Paint)[10];
typedef float (*Pafloat)[10];
定义指向数组的指针
type(*pointer)[n];
//pointer 是一个指针,type代表指向的数组的类型,n为指向的数组的大小。
例:
#include <stdio.h>
typedef int (aint)[10]; //定义一个数组类型
typedef int (*Paint)[10]; //定义一个指针数组类型
int main()
{
int a[10] = {0};
aint myarr;
myarr[0] = 8;
printf("%d\n", myarr[0]);
Paint Pmyarr;
Pmyarr = &a;
(*Pmyarr)[0] = 10;
printf("%d\n", a[0]);
int (*pointer)[10]; //定义一个指向数组类型的指针
pointer = &a;
(*pointer)[0] = 20;
printf("%d\n", a[0]);
}