寻找生命的意义  
早日脱贫
char *ptr;
//ptr是一个指向char型数据的指针
//ptr指名称是ptr
//*指ptr是一个指向...的指针

char const *ptr;
//ptr是一个指向char型const常量数据的指针
//char const指char型的const常量

const char *ptr;
//ptr是一个指向char型const常量数据的指针
//const char指char型的const常量
//等价于char const *ptr;

char * const ptr;
//ptr是一个指向char型数据的指针常量
//*const指指向...的指针常量

char * const *ptr;
//ptr是一个指向一个char型数据的指针常量的指针(从后向前分析)
//ptr指名称是ptr
//*指ptr是一个指向...的指针
//*const指指向...的指针常量
/char指char型数据

int demo1(int);
//demo1是一个带有一个int型参数,返回值为int类型的函数
//demo1指名称是demo1
//int    (int);指demo1是一个函数,参数是int,返回值int

int *demo2(int);
//*demo2是一个带有一个int型参数,返回值为一个指向int类型数据的指针
//demo2指名称是demo2
//*    (int);指demo2是一个函数,参数是int,返回一个指向...的指针
//int指int型数据 

int (*demo2)(int);
//demo2是一个指向函数的指针,函数有一个int类型参数,返回一个int类型数
//名称是demo2,demo2是一个...
//*指指向...的指针
//int (      )(int);指一个函数,参数是int,返回一个int类型数据

int (*demo3(int))(void);
//demo3是一个带有一个int型参数,返回值为一个没有参数的函数,函数返回值为int的函数指针
//demo3指名称是demo3
//*	   (int)指demo3是一个函数,参数是void,返回一个指向...的指针
//int (      )(void);指一个参数是void,返回一个int型数据的函数

int (*(*demo4)(int))(void);
//demo4是指向一个带有一个int型参数,返回一个无参数返回值为int的函数指针的函数的指针

int (*(*demo5[10])(int))(void);
//demo5是一个有10个函数指针为元素的指针数组,指针数组元素指向的函数是带有一个int型参数,返回一个无参数返回值为int型的函数指针的函数
//demo5指名称是demo5
//[10]指demo5是一个有10个...类型数据元素的数组
//*指指向...的指针类型
//*(    )(int)指一个参数为int,返回一个指向...的指针类型数据的函数
//int(    )(void);指一个无参数,返回一个int型数据的函数

int (*(*(*demo6)[10])(int))(void);
//demo6是一个指向有10个函数指针为元素的数组的指针,指针数组元素指向的函数是一个int型参数,返回一个无参数返回值为int型的函数
//demo6指名称是demo6
//*指demo6是一个指向...的指针
//*(    )[10]指有10个元素的数组,数组元素是指向...的指针类型
//*(    )(int)指一个函数,参数是int,返回一个指向...的指针
//int (    )(void);指一个函数,无参数,返回一个int类型的数据

/*注:
int *arr[4];是一个一维数组,数组的每一项都是一个指向int的指针
int (*arr)[4];是一个二位数组的首地址,相当于int arr[n][4]中的arr
*/

int (*(*(*demo7)[10])(void (*cb)(int)))(void);
//demo7是一个指向有10个函数指针为元素的数组的指针,指针数组元素指向的函数是以一个带一个int型参数返回为空的函数指针为参数,返回一个无参数返回值为int型的函数
//*(    )( ... )指一个函数,参数是...,返回值为一个指向...的指针
//*(    )(  *  )指一个函数,参数是一个指向...的指针,返回值为一个指向...的指针
//*(    )(void (   )(int))指一个函数,参数是一个指向一个函数(参数int,返回为空)的指针,返回值为一个指向...的指针

int (*(*(*const demo8)[10])(void (*cb)(int)))(void);
//demo8是一个指向有10个函数指针为元素的数组的指针常量(指针不可变),指针数组元素指向的函数是以一个带一个int型参数返回为空的函数指针为参数,返回一个无参数返回值为int型的函数

int * const * (*(*demo9)[10])(void (*cb)(int));
//demo9是一个指向有10个函数指针为元素的数组的指针,指针数组元素指向的函数是以一个带一个int型参数返回为空的函数指针为参数,返回一个指向一个int类型数据的指针常量的指针类型的函数
//*   指参数是一个指向...的指针
//* const指指向...的指针常量

int * const * (*(*demo10)[10])(int (*(*cb)(int))[10]);
//demo10是一个指向有10个函数指针为元素的数组的指针,指针数组元素指向的函数是以一个函数指针(参数为int型,返回为一个指向含10个元素的int型数组的指针)为参数,返回一个指向一个int类型数据的指针常量的指针类型的函数
//(*(    )(int))指一个函数,参数是int,返回一个指向...的指针
//(int (    )[10])指一个有10个元素的数组,数组元素类型是int

posted on 2022-03-21 11:56  田园脆鸡堡  阅读(48)  评论(0编辑  收藏  举报