定义一个数组:
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 ", myArray[0], myArray[1]); } { //定义一个指针数组类型 typedef int (*myPArrayType)[10]; myPArrayType myArray2 = &a; (*myArray2)[0] = 10; (*myArray2)[1] = 20; //通过指针操作数组 printf("定义一个指针数组类型:%d %d ", a[0], a[1]); } { //定义一个指向数组类型的指针 数组类的指针 int (*myPArrayType)[10]; //定义变量,告诉c编译器分配地址 myPArrayType = &a; (*myPArrayType)[0] = 100; (*myPArrayType)[1] = 200; //通过指针操作数组 printf("定义一个指向数组类型的指针: %d %d ", 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); }