首页 > 其他分享 >c语言中“函数指针”

c语言中“函数指针”

时间:2024-09-17 11:22:25浏览次数:3  
标签:语言 int void Add pf 函数指针 函数

变量有地址,数组有地址,那么函数是否有地址呢?

int Add(int x,int y){

return x+y;

}

int main()

{
     pritnf("%p\n",&Add);

     pritnf("%p\n",Add);    //&函数名和函数名都是函数的地址,没有区别。

     return 0;

}

若是想存放起来:int (*pf)(int,int) = &Add;     //pf:函数指针变量

去掉名字:则就是函数指针pf类型:int  (*)(int,int)  函数指针类型。

若是:

  int (*pf)(int,int)=Add;   

  int ret=(*pf)(4,5); //  *可写可不写,对其没有影响。写的话必须带上小括号

  pritnf("%d\n",ret);

例题:

int mian()

{
    (*(void)(*) ( ) ) 0 ( );

return 0;

}

其中的 (*(void)(*) ( ) ) 0 ( );是什么意思?

     由此可见函数指针类型是:void (*)( ),这是强制类型转换。例如int (3.14)

     也是一次函数调用,调用0的地址存放的那个函数。

     0地址出放的这个函数是没有参数的,返回类型是void.

例题:

void (*signal (int,void(*) (int) ) ) (int);

       signal:函数名,跟圆括号结合了。

      (int,void(*) (int) )是函数参数,整形,一种函数指针类型,可接收一函数地址。

      剩下的就是返回类型,void(*)(int)--函数指针类型

     该函数指向函数参数int,返回类型void.

函数定义:

int Add(int x,int y)

{

return x+y;

}

函数调用:Add(3,5);

函数声明:int Add(int,int);

标签:语言,int,void,Add,pf,函数指针,函数
From: https://blog.csdn.net/2401_83201682/article/details/142312042

相关文章

  • 深入解析JSON:数据交换的通用语言
    目录1.引言2.JSON的起源3.JSON的结构4.JSON的优势5.JSON在软件开发中的应用5.1WebAPI5.2配置文件5.3数据存储6.使用JSON的最佳实践7.结论1.引言在当今的软件开发世界中,数据交换是应用程序之间通信的核心。随着WebAPI和微服务架构的兴起,一种轻量级的......
  • GO语言总体讲解与一些代码分析
    目录1.GO语言简介1.1起源与发展1.2语言特性1.3应用场景2.GO语言基础2.1基本语法2.2数据类型2.3控制结构2.4代码分析3.GO语言并发编程3.1Goroutines3.2Channels3.3Syncprimitives4.GO语言代码分析4.1代码组织结构4.2标准库源码分析4.3代码......
  • C语言-结构体-详解
    博客主页:【夜泉_ly】本文专栏:【C语言】欢迎点赞......
  • 鹏哥C语言39---函数的分类
    #define_CRT_SECURE_NO_WARNINGS//----------------------------------------------------------------------------------------------------------第三章.函数/*1 函数是什么2 C语言中函数的分类3 函数的参数4 函数的调用5 函数的嵌套调用和链式访问6 ......
  • 基于CosyVoice的多语言语音合成技术解析
    CosyVoice是阿里通义实验室开源的先进语音模型,专为自然语音生成而设计。该模型不仅支持多语言的语音合成,还能够精准地控制音色和情感表现,显著提升语音合成的自然度和真实感。CosyVoice在多语言语音生成、零样本语音生成、跨语言声音合成以及指令执行方面表现卓越,是目前语音......
  • 基于Python的自然语言处理系列(9):使用TorchText与预训练词嵌入进行新闻分类
            在前一篇文章中,我们展示了如何使用TorchText和RNN进行新闻分类。在这篇文章中,我们将改进之前的模型,通过使用预训练词嵌入、优化器的更改、正交初始化以及打包填充序列的技巧,提升模型的学习效率和效果。1.改进方向提高模型学习效果:使用预训练词嵌入:使用Fast......
  • C语言学习 三.缓进徐图
    1.if语句1.1if语句  if语句的语法形式如下:if(表达式)语句  如果表达式成立(为真),则语句执行,如果表达式不成立(为假),则语句不执行。   在C语言中,0为假,非0为真,也就是表达式的结果如果是0,则语句不执行,表达式的结果不为0,则语句执行。  例如:输入一个整数,判断......
  • C语言指针修仙
    文章目录引入内存和地址内存编址指针变量和地址取地址操作符(&)解引用操作符(*)指针变量理解指针变量解引用操作符指针变量的大小指针变量的类型和意义指针的解引用指针+-整数指针运算指针加减+-整数指针-指针指针的关系运算野指针规避野指针使用指针前初始化小心指针......
  • C语言小游戏:猜数字 惩罚关机
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<time.h>#include<stdlib.h>#include<windows.h>//菜单voidmenu(){   printf("******************\n");   printf("*****1.play*****\n");   prin......
  • C语言main(主)函数介绍
    HelloWorldC语言main(主)函数介绍先展示一个标准的main程序#include<stdio.h>intmain(intargv,char*argc[]){return0;}这个程序是很多初学者学习C语言第一个程序,如果你现在将这个程序复制粘贴到文本编辑器并编译执行会发现,什么都没有!分编译器或IDE不同有的执行后会......