Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程!! 本节将为大家讲解C语言中非常重要的知识点-指针:
本套课程将会从0基础讲解C语言核心技术,适合人群:
- 大学中开设了C语言课程的同学
- 想要专升本或者考研的同学
- 想要考计算机等级证书的同学
- 想要从事C/C++/嵌入式开发的同学
===============点个关注吧==============

======================================
10.9 函数指针
10.9.1 函数指针概述
一个函数总是占用一段连续的内存空间,函数名有的时候也会被转换成这个函数再内存中的首地址。个数组相似。我们可以把函数的首地址(入口地址)赋值给一个指针变量。让这个指针变量指向函数所在的内存区域。可以使用这个变量找到并调用函数。这个指针变量,称为函数指针。
函数指针定义方式:
函数返回值类型 (*指针名)(参数列表)
注意:()优先级高于*,所以(*指针名)这个括号不能省略。
如果省略了:
函数返回值类型 * 指针名 (参数列表)
例如:
int * func();
如果省略了括号,表示该函数的返回值类型是一个指针,那这就是一个指针函数的写法了,就不是函数指针。
【案例代码】
#include <stdio.h>
int max(int a,int b){
return a>b?a:b;
}
int main(){
int x,y,max_val;
// 定义函数指针,让它指向max函数
// 定义格式:函数返回值类型 (*指针名)(参数列表)
// 定义了一个函数指针,pmax 指向了函数max
// pmax就指向了max函数所占用的空间
// int (*pmax)(int a,int b) = max;
// 在定义函数指针的时候,形参的名可以省略&

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



