当前位置: 首页 > news >正文

宿迁网站湛江免费企业建站

宿迁网站,湛江免费企业建站,商丘企业网站建设公司,企业网站建设基本原则本章重点内容: 字符指针指针数组数组指针数组传参和指针传参函数指针函数指针数组指向函数指针数组的指针回调函数指针和数组面试题的解析⚡函数指针 函数指针:指向函数的指针。 通过之前的学习我们知道数组指针中存放的是数组的地址,那么函…

本章重点内容:

  • 字符指针
  • 指针数组
  • 数组指针
  • 数组传参和指针传参
  • 函数指针
  • 函数指针数组
  • 指向函数指针数组的指针
  • 回调函数
  • 指针和数组面试题的解析

⚡函数指针

函数指针:指向函数的指针。 通过之前的学习我们知道数组指针中存放的是数组的地址,那么函数指针存放的是函数的地址吗?这里的答案是肯定的,代码示例如下:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void test()
{printf("hello world\n");
}
int main()
{printf("%p\n", test);printf("%p\n", &test);return 0;
}

代码运行结果如下:

 我们可以观察到,函数指针确实可以得到函数的地址。C语言中 函数名和&函数名 都是函数地址。接下来,我将为大家说明函数地址怎样存起来,代码示例如下:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int Add(int x, int y)
{return x + y;
}
int main()
{int(*pf)(int, int) = Add; //函数的地址要存起来,就得放在【函数指针变量】中去int ret = (*pf)(3,5); //使用指针进行函数调用//int ret = pf(3,5);//int ret = Add(3,5);//这三种写法都可以成功调用Add函数,其中第一种的*是一个摆设,写与不写都可以,写上是为了理解方便printf("%d\n",ret);return 0;
}

 函数指针的写法说明示例:

下面来阅读两段有趣的代码:

//代码1
(*(void (*)())0)();

想要真正阅读这个代码的意思,分为以下几步:

  1. 将0强制类型转化为void(*)()类型的函数指针
  2. 这就意味着0地址处放着一个函数,函数没有参数,返回类型是void。
  3. 调用0地址处的这个函数。
//代码2
void (*signal(int , void(*)(int)))(int);

代码二的括号内部是一个函数的声明,函数名字是signal,signal函数的第一个参数是 int 类型,第二个是 void(*)(int) 类型的函数指针,该函数指针指向的函数参数是 int ,函数返回类型为 void,signal 函数的返回类型也是一个函数指针。该函数指向的函数参数是 int ,返回类型为 void 。

这里给大家补充一个简化代码2的方法,代码示例如下:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>typedef int* ptr_t;    //将 int* 重新命名为 ptr_t
typedef void(*pf_t)(int); //意思是将 void(*)(int) 重新命名为 pf_t,pf_t是类型int main()
{void(* signal( int, void(*)(int) ) )(int);//化简后pf_t signal(int, pf_t);return 0;
}

这里要注意区分:typedef void(*pf_t)(int)中的 pf_t 是类型名;不写 typedef 时,void(*pf)(int) 中的pf是指针变量的名字。


感谢大家能够看完这篇博客,创作时长,小伙伴们觉得我的博客对你有帮助,不妨留下你的点赞的收藏,关注我,带你了解不一样的C语言。

98b76a6f4a9c4ca88fd93da1188ac6f9.gif

http://www.yayakq.cn/news/667781/

相关文章:

  • 网站推广适合女生做吗做网站需要几个服务器
  • 富德生命人寿保险公司官方网站保单服务app download
  • 做网站设计电脑买什么高端本好wordpress 手机顶部悬浮
  • 恩城seo的网站app模板素材下载免费
  • 常州网站设计公司好看的wordpress引导页
  • 如何做竞价网站数据监控信息化建设 网站
  • 公司名字变了网站备案说说对网站推广的看法和想法
  • 没有网站可以域名备案吗电商网站前端页面内容编写
  • 淘宝客做网站多少钱drupal 做的网站
  • 程序源代码下载网站广州市海珠区建设和市政局网站
  • 企业进行网站建设的方式有( )每平每屋在线设计家官网
  • 莱芜正规的企业建站公司模板算量软件手机下载
  • 浙江建设局网站首页建网站网
  • 天津网站设计推荐刻免费做字体的网站
  • 高邮网站建设免费咨询平台电话
  • 郑州网站优化推广网站设计策划书
  • 网站建设费用模板掼蛋网站建设
  • 做网站背景的图片帝国网站的互动专栏怎么做
  • wap购物网站源码门户网站建设基础术语
  • 打开网站要密码重庆建设注册执业中心网站
  • 如何找外贸网站建设公司做公司官网需要多少钱
  • 如何看那个网站是那个公司做的做网站学习什么
  • 拟定网站优化方案网站开发设备费用计入什么科目
  • 成都个人网站邢台建网站
  • 广州建设网站制作建站模板
  • 做网站做什么主题网站开发文本模版
  • 外贸网站平台是不是很难做辽宁建设厅
  • 五一网站个人空间自己网站制作的详细教程
  • 网站前端开发培训西安鞍山公司网站建设
  • 网站建设相关工作总结住房各城乡建设网站