*8.6 返回指针值的函数
一个函数可以返回一个int ,char,float等,也可返回指针值类型的数据,即地址。其概念与以前类似,只是返回的类型是指针类型而已。
- 例如"int *a(int x,int y);"a是函数名,调用它以后就能得到一个int * 型(指向整型数据)的指针,即整型数据的地址。x和y是函数的形参,为整型。
- 请注意" *a "两侧没有括号,在a的两侧分别为*运算符和()运算符。而()优先级比高于*,因此a先()结合,这显然是函数形式。这个函数前面有一个*,表示函数是指针型(函数值是一个指针)。最前面的int表示返回的指针向整型变量。
- 定义返回指针值的函数的原型的一般形式为 int *a(int x,int y);
区别:int (*a)(int x,int y)和 int *a(int x,int y); 前者是指向函数的指针;后者是函数返回一个整型指针值。重点看是否有()运算符,优先级来判断。
例题 :有a个学生,每个学生有b门课程的成绩。要求在用户输入学生序号以后,能输出该学生的全部成绩。用指针函数实现。