标签:优先级 组成 中文版 中文 prim width cap height char
摘自《C Primer Plus第六版中文版》page484
符号 | 含义 |
* | 表示一个指针 |
() | 表示一个函数 |
[] | 表示一个数组 |
下面时一些较复杂的声明示例:
int board[8][8]; //声明一个内含int数组的数组
int **ptr; //声明一个指向指针的指针,被指向的指针指向int
int * risks[10]; //声明一个内含10个元素的数组,每个元素都是一个指向int的指针
int (* risks)[10]; //声明一个指向数组的指针,该数组内含10个int类型的值
int * oof[3][4]; //声明一个3x4的二维数组,每个元素都是指向int的指针
int (* uuf)[3][4]; //声明一个指向3x4二维数组的指针,该数组中内含int类型值
int (* uof[3])[4]; //声明一个内含3个指针元素的数组,其中每个指针都指向一个内含4个int类型元素的数组
要看懂以上声明,关键要理解*、()和[]的优先级。记住下面几条规则。
根据这些规则,还可以声明:
char * fump(int); //返回字符指针的函数
char (* frump)(int); //指向函数的指针,该函数的返回类型为char
char (* flump[3])(int) //内含3个指针的数组,每个指针都指向返回类型为char的函数
这三个函数都接受int类型的参数。
可以使用typedef建立一系列相关类型:
typedef int arr5[5];
typrdef arr5 * p_arr5;
typedef p_arr5 arrp10[10];
arr5 togs; //togs是一个内含5个int类型值的数组;
p_arr5 p2; //p2是一个指向数组的指针,该数组内含5个int类型的值
arrp10 ap; //ap是一个内含十个指针的数组,每个指针都指向一个内含5个int类型值的数组
标签:优先级 组成 中文版 中文 prim width cap height char
原文地址:https://www.cnblogs.com/taouu/p/14616543.html