函数类型和函数指针

简介: 函数类型和函数指针

前言

本文将给大家带来函数类型和函数指针的使用方法以及概念介绍。

一、函数类型

1.函数类型概念

函数类型可能很多人都不是很清楚,大家都只知道变量有类型,但是却没有听过函数的类型。

C语言中的函数有自己特定的类型


2.函数类型的判断

函数类型由返回值,参数类型和参数个数共同决定。

函数int fun(int a)的函数类型为 int(int a)

函数float fun(int a)的函数类型为float(int a)

二、函数指针

函数指针顾名思义就是一个指向函数的指针,和其他类型的指针其实没有什么区别,只不过是指向的类型不同而已。

函数名是执行函数体的入口地址。

通过函数指针可以得到函数的入口地址,所以通过函数指针就可以调用到对应的函数了。


三、函数指针的使用方法

示例:

#include <stdio.h>
typedef int(FUNC)(int, int);
int fun(int a, int b)
{
    return a + b;
}
int main(void)
{
    int (*p)(int i, int j);
    FUNC *p1 = fun;
    p = fun;
    printf("%p\n", p);
    p(1,2);
    p1(3, 4);
    return 0;
}

可以通过函数指针指向函数,调用函数指针时跟函数的调用是类似的。直接使用指针名就可以调用到函数了。

总结

函数指针其实和普通的指针是一样的,只是指向不同而已,大家不用害怕。

相关文章
|
26天前
|
存储 C语言 C++
如何通过指针作为函数参数来实现函数的返回多个值
在C语言中,可以通过将指针作为函数参数来实现函数返回多个值。调用函数时,传递变量的地址,函数内部通过修改指针所指向的内存来改变原变量的值,从而实现多值返回。
|
26天前
|
存储 搜索推荐 C语言
如何理解指针作为函数参数的输入和输出特性
指针作为函数参数时,可以实现输入和输出的双重功能。通过指针传递变量的地址,函数可以修改外部变量的值,实现输出;同时,指针本身也可以作为输入,传递初始值或状态。这种方式提高了函数的灵活性和效率。
|
1月前
利用指针函数
【10月更文挑战第2天】利用指针函数。
17 1
|
1月前
|
算法 搜索推荐 C语言
【C语言篇】深入理解指针4(模拟实现qsort函数)
【C语言篇】深入理解指针4(模拟实现qsort函数)
23 2
|
1月前
|
C语言 C++
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
|
2月前
|
存储 Go
Go: struct 结构体类型和指针【学习笔记记录】
本文是Go语言中struct结构体类型和指针的学习笔记,包括结构体的定义、成员访问、使用匿名字段,以及指针变量的声明使用、指针数组定义使用和函数传参修改值的方法。
|
2月前
|
Linux
在Linux内核中根据函数指针输出函数名称
在Linux内核中根据函数指针输出函数名称
|
3月前
|
程序员 C语言
指针在函数参数和返回值中的使用
指针在函数参数和返回值中的使用
47 9
|
3月前
|
存储 搜索推荐 C语言
C语言中的指针函数:深入探索与应用
C语言中的指针函数:深入探索与应用
|
3月前
|
存储 安全 Go
深入理解 Go 语言中的指针类型
【8月更文挑战第31天】
43 0