定义一个数组:
int a[10] = {0};
a 代表数组寿元的地址,a+1的步长为4
&a 代表整个数组的地址 &a+1 步长为40
数组类型基本语法知识梳理
{
//定义一个数组类型
typedef int (myArrayType)[10];
myArrayType myArray;
myArray[0] = 10;
myArray[1] = 20;
printf("定义一个数组类型:%d %d\n", myArray[0], myArray[1]);
}
{
//定义一个指针数组类型
typedef int (*myPArrayType)[10];
myPArrayType myArray2 = &a;
(*myArray2)[0] = 10;
(*myArray2)[1] = 20; //通过指针操作数组
printf("定义一个指针数组类型:%d %d\n", a[0], a[1]);
}
{
//定义一个指向数组类型的指针 数组类的指针
int (*myPArrayType)[10]; //定义变量,告诉c编译器分配地址
myPArrayType = &a;
(*myPArrayType)[0] = 100;
(*myPArrayType)[1] = 200; //通过指针操作数组
printf("定义一个指向数组类型的指针: %d %d\n", a[0], a[1]);
}
函数基本语法知识梳理
{
//如何定义一个函数类型
typedef int (myFuc)(int a, int b);
myFuc *myFucc = NULL; //定义了一个指针,指向某一种类的函数
myFucc = &add;
myFucc(2,4); //间接调用
myFucc = add; //c逐渐完善,兼容历史版本
myFucc(3,4);
}
{
//如何定义一个函数指针类型
typedef int (*myFucType)(int a, int b);
myFucType myPFuc; //定义一个指针
myPFuc = add;
myPFuc(5,6);
}
{
//如何定义一个 函数指针 (指向一个函数的入口地址)
int (*myFucType)(int a, int b); //定义了一个变量
myFucType = add;
myFucType(6,3);
}
浙公网安备 33010602011771号