c语言中的指针型函数 c语言 指针函数( 二 )


int(*p)(int, int);
这个语句就定义了一个指向函数的指针变量 p 。首先它是一个指针变量,所以要有一个“*”,即(*p)c语言中的指针型函数;其次前面的 int 表示这个指针变量可以指向返回值类型为 int 型的函数;后面括号中的两个 int 表示这个指针变量可以指向有两个参数且都是 int 型的函数 。所以合起来这个语句的意思就是:定义了一个指针变量 p , 该指针变量可以指向返回值类型为 int 型,且有两个整型参数的函数 。p 的类型为 int(*)(int , int) 。
所以函数指针的定义方式为:
函数返回值类型 (* 指针变量名) (函数参数列表);
“函数返回值类型”表示该指针变量可以指向具有什么返回值类型的函数;“函数参数列表”表示该指针变量可以指向具有什么参数列表的函数 。这个参数列表中只需要写函数的参数类型即可 。
我们看到 , 函数指针的定义就是将“函数声明”中的“函数名”改成“(*指针变量名)” 。但是这里需要注意的是:“(*指针变量名)”两端的括号不能省略,括号改变了运算符的优先级 。如果省略了括号,就不是定义函数指针而是一个函数声明了 , 即声明了一个返回值类型为指针型的函数 。
那么怎么判断一个指针变量是指向变量的指针变量还是指向函数的指针变量呢?首先看变量名前面有没有“*”,如果有“*”说明是指针变量;其次看变量名的后面有没有带有形参类型的圆括号 , 如果有就是指向函数的指针变量,即函数指针 , 如果没有就是指向变量的指针变量 。
c语言中的指针型函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言 指针函数、c语言中的指针型函数的信息别忘了在本站进行查找喔 。

推荐阅读