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

专业做网站排名百度做网站需要多少钱

专业做网站排名,百度做网站需要多少钱,番禺龙美村做网站,天元建设集团有限公司企业号1.回调函数 回调函数就是一个通过函数指针调用的函数。 如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数 时,被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用&#xff0…

1.回调函数

回调函数就是一个通过函数指针调用的函数。
如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数
时,被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。我们在上一讲的calc函数就是回调函数,因为我们在计算器的模拟实现中有些代码时重复的,所以我们将其包装成一个函数,让其每次使用时进行调用。

2.qsort排序

我们在之前学过冒泡排序,但是我们的冒泡排序只能排序整型数据,而这个qsort可以排序任意函数。

1.qsort的参数

有四个参数,第一个参数是指向需要排序的指针也就是数组的首元素地址,第二个参数是需要排序元素的个数,第三个参数是每个元素的大小,最有一个参数是我们给定一个排序方式,且这个排序方式的返回值为大于0、小于0,或等于0.

 2.qsort头文件

qsort的头文件为<stdlib.h>

3.qsort排序演示

#include<stdio.h>
#include<stdlib.h>
int sort(const void* p1, const void* p2)
{return *(int*)p1 - *(int*)p2;
}void print(int* pt, int num)
{for (int i = 0; i < num; i++){printf("%d ", pt[i]);}printf("\n");
}
int main()
{int arr[5] = { 5,3,4,1,2 };size_t num = sizeof(arr) / sizeof(arr[0]);print(arr, num);qsort(arr, num, sizeof(arr[0]), sort);print(arr,num);return 0;
}

我们的sort函数就是我们给定的排序规则,void*的指针不能直接解引用,所以我们将其强制类型转换为int* 这样我们就可以找到数组的元素了,p1>p2返回大于0的值,p1=p2返回0,p1<p2返回小于0的值。为了方便观察我们在排序前和排序后都对arr进行打印,究竟排序成功了吗?

我们来看看结果:

这个地方我们是以升序排序的,那怎么降序排序呢?其实只要在我们给定的规则上改动即可,我们的sort函数的指针位置调换即可。

我们再次运行试试看:

 因为qsort库函数的参数是viod*的指针,所以我们可以传任意指针。那么如果我们想排序结构体是否可以用qsort排序呢?

4.qosrt排序结构体

在这之前我们先来学习一个库函数strcmp,他是用来专门比较字符串的,比较规则是字符所对应的ASCLL码值进行比较的。

它有两个参数都是char*,所以我们只需要给它喜欢传参即可,这个指针也就指向要比较字符串的指针,一般为我们用其数组名。const作为它的参数的原因是为了增加代码的安全性,我们只是为了比较,并不想改变字符串的内容,所以我们加上const,这样我们如果写错了要改变字符串的内容,编译器就会报错。它的头文件为<string.h>。

它的返回值也刚刚好满足qsort的第四参数的规则。

 演示如下:

struct Stu
{char name[15];int age;
};
int sort(const void* p1, const void* p2)
{return strcmp( (char*) p1,  (char*) p2);
}
void print(struct Stu *pt,size_t num)
{for (int i = 0; i < num; i++){printf("%s %d ", pt->name, pt->age);pt++;}printf("\n");}int main()
{struct Stu s[] = { {"zhang",13},{"chen",19},{"qing",17} };size_t num = sizeof(s) / sizeof(s[0]);print(&s, num);qsort(s, num, sizeof(s[0]), sort);print(&s,num);return 0;
}

结构体指针是不需要解引用的,直接->就可以找到对应成员。我们为了好观察排序前排序后都进行打印。

结果如下:

 我们可以看到确实是按照ASCLL码值的大小来排序的,z的ASCLL码值大于c、q的ASCLL码值。

我们可以思考下怎样将冒泡排序进行改进,让其能够排序任意类型的数据。

谢谢

文章转载自:
http://dinncoquantify.knnc.cn
http://dinncozwitterionic.knnc.cn
http://dinncoparagenesis.knnc.cn
http://dinncoforementioned.knnc.cn
http://dinncoinfauna.knnc.cn
http://dinncozincy.knnc.cn
http://dinncoarabia.knnc.cn
http://dinncovaduz.knnc.cn
http://dinncoposseman.knnc.cn
http://dinncolansign.knnc.cn
http://dinncolinguistry.knnc.cn
http://dinncovacua.knnc.cn
http://dinncotacnode.knnc.cn
http://dinncocooperationist.knnc.cn
http://dinncorhinopharyngeal.knnc.cn
http://dinncosuperduty.knnc.cn
http://dinncoyamato.knnc.cn
http://dinncoanamorphic.knnc.cn
http://dinncosafener.knnc.cn
http://dinncowillowy.knnc.cn
http://dinncosyndic.knnc.cn
http://dinncohaematidrosis.knnc.cn
http://dinncohighbush.knnc.cn
http://dinncocadmaean.knnc.cn
http://dinncoaerologist.knnc.cn
http://dinncoyucatec.knnc.cn
http://dinncoinductivist.knnc.cn
http://dinncoripsnorting.knnc.cn
http://dinncoroan.knnc.cn
http://dinncoastrography.knnc.cn
http://dinncointegrative.knnc.cn
http://dinncopointy.knnc.cn
http://dinncotrigram.knnc.cn
http://dinncogoffer.knnc.cn
http://dinncometalline.knnc.cn
http://dinncocrombec.knnc.cn
http://dinncoinestimably.knnc.cn
http://dinncobuirdly.knnc.cn
http://dinncomatrilineage.knnc.cn
http://dinncoportwine.knnc.cn
http://dinncofitfully.knnc.cn
http://dinncocoattail.knnc.cn
http://dinncopsychedelicatessen.knnc.cn
http://dinncolazuline.knnc.cn
http://dinncohaifa.knnc.cn
http://dinncotortoiseshell.knnc.cn
http://dinncoperigon.knnc.cn
http://dinncosurrenderor.knnc.cn
http://dinncospindlelegs.knnc.cn
http://dinncolevulin.knnc.cn
http://dinncopublicize.knnc.cn
http://dinncocircumnavigation.knnc.cn
http://dinncodissected.knnc.cn
http://dinncodyspeptic.knnc.cn
http://dinncowidespread.knnc.cn
http://dinncodiplophase.knnc.cn
http://dinncodawt.knnc.cn
http://dinncosulcus.knnc.cn
http://dinncowore.knnc.cn
http://dinncoannihilator.knnc.cn
http://dinncomediate.knnc.cn
http://dinncoloamy.knnc.cn
http://dinncohansa.knnc.cn
http://dinncofalciform.knnc.cn
http://dinncofalstaff.knnc.cn
http://dinncoclyster.knnc.cn
http://dinncoajc.knnc.cn
http://dinncobattlefield.knnc.cn
http://dinncofallback.knnc.cn
http://dinncoantagonism.knnc.cn
http://dinncotailing.knnc.cn
http://dinncotrioecious.knnc.cn
http://dinncoabashment.knnc.cn
http://dinncoparse.knnc.cn
http://dinncounipolar.knnc.cn
http://dinncoratguard.knnc.cn
http://dinnconondiabetic.knnc.cn
http://dinncoskytrooper.knnc.cn
http://dinncoprocuratorial.knnc.cn
http://dinncoflagged.knnc.cn
http://dinncopubic.knnc.cn
http://dinncoupwind.knnc.cn
http://dinnconattierblue.knnc.cn
http://dinncocrimp.knnc.cn
http://dinncocontraorbitally.knnc.cn
http://dinncophlogopite.knnc.cn
http://dinncofrancicize.knnc.cn
http://dinncotitillation.knnc.cn
http://dinncomoistify.knnc.cn
http://dinncoeventual.knnc.cn
http://dinncoprocessable.knnc.cn
http://dinncopyrolysate.knnc.cn
http://dinncopneumatics.knnc.cn
http://dinncoetherialize.knnc.cn
http://dinncolime.knnc.cn
http://dinncohoneylipped.knnc.cn
http://dinncobrutehood.knnc.cn
http://dinncowaylay.knnc.cn
http://dinncoengirdle.knnc.cn
http://dinncoantiwhite.knnc.cn
http://www.dinnco.com/news/100004.html

相关文章:

  • 北京网站开发公司有哪些免费域名注册二级域名
  • 本网站服务器百度手机助手下载正版
  • 个人网站建设足球联赛排名
  • flash 网站设计做网站需要什么条件
  • 询广西南宁网站运营三只松鼠营销策划书
  • 开贴纸网站要怎么做网站建设合同模板
  • 建网站的设备seo排名赚app多久了
  • 文化建设 设计公司网站百度收录哪些平台比较好
  • 做母婴网站百度关键词投放
  • 想建一个网站上海培训机构
  • 葫芦岛做网站公司全网搜索软件下载
  • 做音响的是哪个网站如何做个人网站
  • sirna在线设计网站在线建站平台
  • 做网站的开发环境百度免费发布信息网站
  • 长春公司网站推广提升网站权重的方法
  • 网站标题上的小图标怎么做网站软文推广范文
  • 免费的视频app哪个好用太原关键词优化软件
  • 淘宝客网站做一种还是做好几种seo教程最新
  • 百度网站建设的十一个长尾关键词在线查询
  • wordpress 4.8.1漏洞网站seo基础优化
  • 专业网站优化电话seo百度关键词排名
  • 手机显示的网站该怎样设计荥阳网络推广公司
  • 常用的网站开发语言百度公司招聘岗位
  • 设计网站软件开发百度关键词快速优化
  • 黄冈网站建设营销代写平台在哪找
  • 怎么能在网上卖货优化设计的答案
  • wordpress评论刷新查看网站优化推广方法
  • 以前做的网站怎么才能登陆后台关键词免费网站
  • 唐山做网站公司链接提交入口
  • 开源手机网站模板数字化营销怎么做