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

外贸英文网站搭建的公司刷seo排名

外贸英文网站搭建的公司,刷seo排名,免费的seo网站膝,网站顶部图片代码大家好!我快马加鞭接着写出指针部分part2部分。第一部分见:c语言进阶部分详解(指针进阶1)_总之就是非常唔姆的博客-CSDN博客 指针初阶部分见:c语言进阶部分详解(指针初阶)_总之就是非常唔姆的博…

大家好!我快马加鞭接着写出指针部分part2部分。第一部分见:c语言进阶部分详解(指针进阶1)_总之就是非常唔姆的博客-CSDN博客

指针初阶部分见:c语言进阶部分详解(指针初阶)_总之就是非常唔姆的博客-CSDN博客 


一.函数指针 

1.讲解与实例 

函数指针: 在C语言中,函数指针是指向函数的指针变量。它可以像其他变量一样存储在内存中,并且可以通过函数指针来调用相应的函数。

声明函数指针:returnType (*pointerName)(parameterTypes);

其中:

  • returnType 是函数的返回类型。
  • pointerName 是函数指针的名称。
  • parameterTypes 是函数的参数类型
// 定义一个函数
int add(int a, int b) {return a + b;
}int main()
{// 声明一个函数指针int (*funcPtr)(int, int);// 将函数指针指向add函数funcPtr = add;// 通过函数指针调用函数int result = funcPtr(2, 3);  // 结果为5   平时调用函数时都是函数名(地址),也可以想通int result = (*funcPtr)(2, 3);  // 这两种均可以,funcPtr是地址,通过*解引用来找到return 0;
}

 2.《C陷阱和缺陷》中两段经典代码

2.1 ( * ( void  ( * )( ) ) 0 ) ( );

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

  1. void  ( * )( )这是一个函数指针的类型声明。它表示一个没有参数并且返回类型为void的函数指针
  2. ( void  ( * )( ) )0 这是对0进行强制类型转化,转换为函数指针类型
  3. * ( void  ( * )( ) ) 0 对地址为0的函数地址解引用
  4.  ( * ( void  ( * )( ) ) 0 ) ( ) 调用这个函数

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

//代码2 void ( * signal( int , void( * ) ( int ) ) ) (int); 

 

void (*signal(int, void (*)(int)))(int):这是一个函数声明的语法。它表示signal是一个函数,接受两个参数:一个int类型的参数和一个指向接受int类型参数并返回void的函数指针的参数。该函数返回一个指向接受int类型参数并返回void的函数指针的结果


二.函数指针数组

1.讲解与实例

函数指针数组: 函数指针数组是一个数组,其中的每个元素都是一个函数指针。可以将不同的函数指针存储在数组中,并根据需要使用它们 

 

声明函数指针数组:return_type (*array_name[size])(parameter_list); 

  1. return_type:函数指针指向的函数的返回类型。
  2. (*array_name):函数指针数组的名称。它是一个指针,指向一个数组。
  3. [size]:函数指针数组的大小。它表示数组中函数指针的数量。
  4. (parameter_list):函数指针指向的函数的参数列表

 相比于函数指针只是多了一个[ ]在函数名后面而已

// 定义函数1
void func1(int num) {printf("This is function 1. Number: %d\n", num);
}// 定义函数2
void func2(int num) {printf("This is function 2. Number: %d\n", num);
}// 定义函数3
void func3(int num) {printf("This is function 3. Number: %d\n", num);
}int main() {// 将函数指针赋值给函数指针数组的元素void(*pf[3])(int) = { &func1,&func2, &func3 };// 调用函数指针数组中的函数for (int i = 0; i < 3; i++) {pf[i](i);}return 0;
}

 

2.使用来实现计算器

 

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 = 1;int result = 0;int a = 0;int b = 0;while (input){menu();printf("请输入:\n");scanf("%d", &input);//根据menu来输入数字啦int(*pf[5])(int, int) = { NULL,add,sub,mul,div };//第一个是NUll是为了使数字与菜单对应if (input >= 1 && input <= 4){printf("请输入两个数\n");scanf("%d %d", &a, &b);result = pf[input](a, b);printf("%d\n", result);}else if(input==0){printf("退出计算器");}else{printf("输入有误,请重新输入");}}return 0;
}

三.指向函数指针数组的指针
 

指向函数指针数组的指针是一个 指针,指针指向一个数组 ,数组的元素都是函数指针
 

指向函数指针数组的指针的语法如下:

return_type (*(*pointer_name)[size])(parameter_list);

  1. return_type:函数指针指向的函数的返回类型。
  2. (*pointer_name):指向函数指针数组的指针的名称。它是一个指针,指向一个函数指针数组。
  3. [size]:函数指针数组的大小。它表示数组中函数指针的数量。
  4. (parameter_list):函数指针指向的函数的参数列表

相比与函数指针数组只是在名字前多一个*来说明是指针而已


四.回调函数

1.讲解 

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应

 2.事例

int add(int x, int y)
{return x + y;
}// 定义一个回调函数
void callback(int result) 
{printf("回调函数被调用,结果为:%d\n", result);
}// 定义一个函数,接受一个函数指针作为参数
void performOperation(int (*operation)(int, int), int a, int b, void (*callback)(int)) 
{int result = operation(a, b);callback(result);
}int main()
{// 调用函数,并传递回调函数作为参数performOperation(add, 2, 3, callback);return 0;
}

 今天的内容先到这里了,下一次不出意外是针对回调函数进行更加详细事例演示及模拟。

感谢大家的支持!!

http://www.hengruixuexiao.com/news/15653.html

相关文章:

  • 太原市建设厅网站首页提供seo服务
  • 镇江个人网站建设seo专员工作内容
  • 网站制作怎么做图标优化师和运营区别
  • 辽宁智能建站系统价格搜索引擎网页
  • 深圳美容网站建设seo薪酬
  • wordpress响应式模板工业用好口碑关键词优化地址
  • 河北高端网站设计公司如何自己开个网站平台
  • WordPress添加海报分享优化疫情政策
  • 个人网站吗分销平台
  • 有了域名和空间怎么做网站友情链接检测结果
  • 襄阳 网站建设自媒体营销的策略和方法
  • 东昌府聊城做网站公司搜一搜站长工具
  • 包头网站建设公司良居网络如何做网站推广
  • 营销渠道的三个类型上海网站排名优化
  • 云南企业网站建设深圳seo
  • 做网站的经验如何在百度上做广告
  • 做的网站用户密码在哪里找优化电池充电什么意思
  • 网站seo信息隐藏深圳网络营销推广方案
  • 龙港做网站店铺如何宣传推广
  • 做网站分前台后端吗腰椎间盘突出压迫神经腿疼怎么治
  • 类似中企动力的做网站的什么是搜索引擎优化seo
  • 代理加盟微信网站建设百度网页高级搜索
  • 拷贝字体到wordpress南昌seo营销
  • asp网站用什么软件桌面百度
  • 网站设计公司 国际seo公司重庆
  • 如何接做网站编程的生意友情链接的网站有哪些
  • 网站建设公司源码宁波seo怎么做推广渠道
  • 同城服务网站开发网站外包
  • 网站广告通栏效果无锡seo公司哪家好
  • app对接网站登录要怎么做怎么制作网页教程