.2类型定义 根据优先级和结合性解释类型: ·先解释优先级较高的运算符 ·优先级相同时则按结合性顺序解释 ■有关优先级的运算符: ·星号*、括号()、函数()、数组下标[] 。以后要介绍的成员指针运算符.*和->* ■注意: ·(O],[]的结合性自左至右 。**,*&的结合性自左至右
2.2 类型定义 根据优先级和结合性解释类型 : 先解释优先级较高的运算符 优先级相同时则按结合性顺序解释 有关优先级的运算符: 星号 *、括号( )、函数( )、数组下标[ ] 以后要介绍的成员指针运算符.* 和->* 注意: ()[],[][]的结合性自左至右 **,*&的结合性自左至右
.2类型定义 char (f)(int); ·两个(),第一个为括号,第二个为函数; 。优先级相同,根据结合性自左至右解释; ·先解释左边的(,()定义了标识符f: ·再解释(int)说明f是一个有int参数的函数; ·最后解释char,说明函数f的返回字符型; 上述定义等价于char f(int)。(f)没有实质性 的作用
2.2 类型定义 char (f)(int); 两个( ),第一个为括号,第二个为函数; 优先级相同,根据结合性自左至右解释; 先解释左边的(f) ,(f)定义了标识符 f; 再解释(int)说明 f是一个有int参数的函数; 最后解释char,说明函数 f的返回字符型; 上述定义等价于char f(int) 。(f)没有实质性 的作用
.2类型定义 char (*f)(int); (*f)和(int)的优先级相同,两个()的结合 性为自左向右,先解释(*)再解释(int)。 f是一个指针; 该指针指向一个函数; 该函数有一个int类型的参数; 该函数返回一个char类型的值
2.2 类型定义 char (*f)(int); (*f) 和(int)的优先级相同,两个( )的结合 性为自左向右,先解释(*f)再解释(int) 。 ① f是一个指针; ② 该指针指向一个函数; ③ 该函数有一个int类型的参数; ④ 该函数返回一个char类型的值
.2类型定义 ■ char *f(int); ■其中,*的优先级低于(int),先解释f(int) 再解释*。 ① f是一个函数; 该函数有一个int类型的参数; 该函数返回一个指针类型的值; 该指针指向一个字符char
2.2 类型定义 char *f(int); 其中, *的优先级低于(int),先解释f(int) 再解释 * 。 ① f是一个函数; ② 该函数有一个int类型的参数; ③ 该函数返回一个指针类型的值; ④ 该指针指向一个字符char
.2类型定义 括号可提高被解释对象的优先级,根据实际情 况适当时可省略或不予解释。 C和C++规定,函数不能返回一个数组,数组 的元素不能是函数。数组的元素可以是指针类 型,指针可以指向函数: int (*(**f)[10])(int,int); ▣其中,**自右向左解释,先*f,再*f。(*) 中()提高优先级,否则*10]将先解释10]
2.2 类型定义 括号可提高被解释对象的优先级,根据实际情 况适当时可省略或不予解释。 C 和C++规定,函数不能返回一个数组,数组 的元素不能是函数。数组的元素可以是指针类 型,指针可以指向函数: int (*(**f)[10])(int, int); 其中,**自右向左解释,先*f,再**f 。 (**f) 中( )提高优先级,否则**f[10]将先解释f[10]