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

外贸网站b2c可以免费发布广告的平台有哪些

外贸网站b2c,可以免费发布广告的平台有哪些,国内美妆博主从哪个网站开始做,怎么样做团购网站前言 此篇讲解的主要是函数与指针的那些事~ 书接上回 拿捏c语言指针(上)和 拿捏c语言指针(中) ​​​​​​没有看的小伙伴要抓紧喽~ 欢迎关注​​个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误&#x…

前言

此篇讲解的主要是函数与指针的那些事~

书接上回  拿捏c语言指针(上)和  拿捏c语言指针(中)

​​​​​​没有看的小伙伴要抓紧喽~

 欢迎关注​​个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~



函数指针变量

函数指针变量 用于存放函数的地址

其中,函数名==函数地址,&Add可以换成Add

*pf==&Add ,也就是说Add、*pf、pf三者都可以调用函数

两段有趣的代码

(*(void(*)())0)()

拆分(*( void(*)() 0)() 

void(*)() 函数指针类型,此函数没有参数,返回值是void

void(*)() )0 是将0这个整数值强制类型转换为一个函数的地址。

*( void(*)() 0 是解引用,

(*( void(*)() 0)() 是调用地址为0处的函数

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

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

signal是一个函数,其参数有2个,int类型和函数指针类型void(*)(int) ,该指针指向的函数参数是int,返回值是void。

signal函数的返回类型是void(*  )(int)函数指针 类型,该指针指向的函数参数是int,返回值是void。

typedef类型重命名

  • 可以将复杂的类型名字重命名

如:typedef unsigned int uint;

  • 对于指针类型重命名

如:typedef int* ptr_t;

  • 对于数组指针函数指针类型重命名  与以上有区别,新的名字要放在里面

如:typedef int(*parr_t)[5];   parr_t是数组指针类型新的名字
如:typedef void(*pf)(int);     pf是函数指针类型新的名字

所以我们可以将void(* signal ( int,void(*)(int) ) )(int);

简化为以下两句代码

typedef  void(*ptr_t)(int)  ;  重命名void(*)(int) ptr_t

ptr_t  signal(int,ptr_t);  signal函数的参数类型是int和ptr_t,返回值类型是ptr_t


函数指针数组

函数指针数组本质上是一个数组,里面存放的是函数指针变量 

如下代码中

int(*pfArr[4])(int, int) = { Add,Sub,Mul,Div };//pfArr就是一个函数指针数组,可以存放4个元素         

//加法函数
int Add(int x, int y)
{return x + y;
}
//减法函数
int Sub(int x, int y)
{return x - y;
}
//乘法函数
int Mul(int x, int y)
{return x * y;
}
//除法函数
int Div(int x, int y)
{return x / y;
}
int main()
{int(*pf)(int, int) = &Add;//pf是函数指针int(*pfArr[4])(int, int) = { Add,Sub,Mul,Div };//pfArr是函数指针数组return 0;
}

函数指针数组应用--实现一个简易计算器

实现一个简易计算器,有 加减乘除 功能。

代码实现

利用函数指针数组存放计算函数地址,方便调用。

如下代码中,int(*pfArr[5])(int, int) = { NULL,Add,Sub,Mul,Div };数组下标0处设为NULL,方便其他计算函数对应菜单标号

#include<stdio.h>
//计算器菜单
void menu()
{printf("*****************************\n");printf("***   1.Add   2.Sub       ***\n");printf("***   3.Mul   4.Div       ***\n");printf("***   0.exit              ***\n");printf("*****************************\n");
}
//加法函数
int Add(int x, int y)
{return x + y;
}
//减法函数
int Sub(int x, int y)
{return x - y;
}
//乘法函数
int Mul(int x, int y)
{return x * y;
}
//除法函数
int Div(int x, int y)
{return x / y;
}
int main()
{int input = 0;int x = 0;int y = 0;int(*pfArr[5])(int, int) = { NULL,Add,Sub,Mul,Div };//pfArr是函数指针数组//                            0   1   2    3    4do{menu();printf("请选择:>");scanf("%d", &input);if (input == 0){printf("退出计算器\n");}else if (input >= 1 && input <= 4){printf("请输入两个操作数:>");scanf("%d%d", &x, &y);int ret = pfArr[input](x,y);printf("结果是:%d\n", ret);}else{printf("选择错误,请重新选择\n");}} while (input);return 0;
}

  结果展示                                    

       


回调函数

回调函数就是⼀个通过函数指针调⽤的函数。

把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数。

其中qsort函数的运用是 回调函数 典例

可以参考 手撕qsort函数~ ​​​​​​​本篇就不再赘述了                                            

http://www.hkea.cn/news/233374/

相关文章:

  • 企业铭做网站域名解析在线查询
  • 怎么注册自己的小程序网站优化分析
  • 荆州网站建设流程网站设计培训
  • 网站支付怎么做的seo职业技能培训班
  • 做csgo直播网站上海知名网站制作公司
  • 深圳住建局官方网站seo网站关键词优化快速官网
  • 网站建设需要php吗企业的互联网推广
  • 苏中建设集团官方网站电商软文广告经典案例
  • 网站开发需要什么开发工具代做百度首页排名价格
  • 北京网站设计多少钱微信引流推广
  • 网站建设实施背景分析百度指数里的资讯指数是什么
  • 小程序定制开发深圳公司网站的优化seo
  • 构建一个网站域名查询平台
  • 蚌埠网站关键词优化推广下载
  • 看房地产的app在哪看aso安卓优化
  • 网站与域名的区别扬州整站seo
  • 哪些网站可以进行域名注册公司关键词seo
  • 如何申请一个网站 做视频百度小说搜索热度排行榜
  • 天津做网站选择津坤科技b重庆seo教程搜索引擎优化
  • 什么网站做热能表好百度一下电脑版首页网址
  • 点击图片直接进入网站怎么做如何使用免费b站推广网站
  • 手机网站建设软件怎么在百度上做广告推广
  • 南京做网站团队手机app免费制作平台
  • 17173游戏网搜索优化指的是什么
  • 公司做网站需要给百度交钱吗百度竞价推广方案
  • 网站建设的关键seo推广小分享
  • 写小说的小网站百度关键词排名优化
  • 制作网站的成本规划公司如何建立网站
  • html语言做网站石嘴山网站seo
  • 做最好的言情网站官网seo优化