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

iphone网站wordpress如何二次开发

iphone网站,wordpress如何二次开发,品牌官网方案,野花社区在线观看高清视频动漫指针#xff08;4#xff09; 1.回调函数是什么#xff1f;2.qsprt使用举例2.1使用qsort函数排序整型数据2.2使用qsort函数排序结构体数据 3.qsort函数的模拟实现 1.回调函数是什么#xff1f; 回调函数就是一个通过函数指针调用的函数 如果你把函数的指针#xff08;地址… 指针4 1.回调函数是什么2.qsprt使用举例2.1使用qsort函数排序整型数据2.2使用qsort函数排序结构体数据 3.qsort函数的模拟实现 1.回调函数是什么 回调函数就是一个通过函数指针调用的函数 如果你把函数的指针地址作为参数传递给另⼀个函数当这个指针被用来调用其所指向的函数时被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用而是在特定的事件或条件发生时由另外的一方调用的用于对该事件或条件进行响应。 在指针(3)中我们写的计算机的实现的代码中有一部分代码是重复出现的其中虽然执行计算的逻辑是区别的但是输入输出操作是冗余的有没有办法简化⼀些呢 因为在计算机的实现的代码中只有调用函数的逻辑是有差异的可以把调用的函数的地址以参数的形式传递过去使用函数指针接收函数指针指向什么函数就调用什么函数这里其实使用的就是回调函数的功能。 //使用回调函数之前 #includestdio.h//实现加法 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; }//菜单 void meun() {printf(-------------------\n);printf(--- 1.Add 2.Sub ---\n);printf(--- 3.Mul 4.Div ---\n);printf(--- 0.Exit ---\n);printf(-------------------\n); }int main() {int x, y 0;int input 0;int ret 0;do{meun();printf(请选择);scanf(%d, input);switch (input){default:printf(选择错误请重新选择\n);break;case 1:printf(请输入两个数: );scanf(%d %d, x, y);ret Add(x, y);printf(ret %d\n, ret);break;case 2:printf(请输入两个数: );scanf(%d %d, x, y);ret Sub(x, y);printf(ret %d\n, ret);break;case 3:printf(请输入两个数: );scanf(%d %d, x, y);ret Mul(x, y);printf(ret %d\n, ret);break;case 4:printf(请输入两个数: );scanf(%d %d, x, y);ret Div(x, y);printf(ret %d\n, ret);break;case 0:printf(退出游戏\n);break;}} while (input);return 0; }//使用回调函数之后 #includestdio.h//实现加法 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; }//菜单 void meun() {printf(-------------------\n);printf(--- 1.Add 2.Sub ---\n);printf(--- 3.Mul 4.Div ---\n);printf(--- 0.Exit ---\n);printf(-------------------\n); }//回调函数 void calc(int (*pf)(int, int)) {int x, y 0;int ret 0;printf(请输入两个数: );scanf(%d %d, x, y);ret pf(x, y);printf(ret %d\n, ret); }int main() {int input 0;do{meun();printf(请选择);scanf(%d, input);switch (input){default:printf(选择错误请重新选择\n);break;case 1:calc(Add);break;case 2:calc(Sub);break;case 3:calc(Mul);break;case 4:calc(Div);break;case 0:printf(退出游戏\n);break;}} while (input);return 0; }2.qsprt使用举例 2.1使用qsort函数排序整型数据 #includestdio.h //qsort()函数的使用这得实现一个比较函数 int int_cmp(const void* p1, const void* p2) {return (*(int*)p1 - *(int*)p2); }int main() {int arr[] { 9,8,7,6,5,4,3,2,1,0 };int sz sizeof(arr) / sizeof(arr[0]);//比较qsort(arr, sz, sizeof(arr[0]), int_cmp);//打印int i 0;for ( i 0; i sz; i){printf(%d , arr[i]);}printf(\n);//0 1 2 3 4 5 6 7 8 9return 0; }2.2使用qsort函数排序结构体数据 #includestdio.h #includestring.hstruct Stu //学生 {char name[10];//名字int age;//年龄 };//假如按照年龄来比较 int cmp_stu_by_age(const void* p1, const void* p2) {return ((struct Stu*)p1)-age - ((struct Stu*)p2)-age; }//假如按照名字来比较 //strcmp() - 是库函数是专门来比较两个字符串的大小的 int cmp_stu_by_name(const void* p1, const void* p2) {return strcmp(((struct Stu*)p1)-name, ((struct Stu*)p2)-name); }//假如按照年龄来比较 void test1() {struct Stu s[] { {zhangsan, 20}, {lisi, 30}, {wangwu, 15} };int sz sizeof(s) / sizeof(s[0]);qsort(s, sz, sizeof(s[0]), cmp_stu_by_age); }//假如按照名字来比较 void test2() {struct Stu s[] { {zhangsan, 20}, {lisi, 30}, {wangwu, 15} };int sz sizeof(s) / sizeof(s[0]);qsort(s, sz, sizeof(s[0]), cmp_stu_by_name); }int main() {test1();test2();return 0; }3.qsort函数的模拟实现 使用回调函数模拟实现qsort采用冒泡的排序方式 代码1 //使用bubble_sort函数排序整型数据 #includestdio.hint int_cmp(const void* p1, const void* p2) {return ((*(int*)p1) - (*(int*)p2)); }//交换 void Swap(void* buf1, void* buf2, int width) {int i 0;for (i 0; i width; i){char tmp *((char*)buf1 i);*((char*)buf1 i) *((char*)buf2 i);*((char*)buf2 i) tmp;} } //qsort函数的模拟实现 void bubble_sort(void* base, int sz, int width, int (*cmp)(void*, void*)) {int i 0;int j 0;for (i 0; i sz - 1; i){for (j 0; j sz - 1 - i; j){if (cmp((char*)base j * width, (char*)base (j 1) * width) 0){Swap((char*)base j * width, (char*)base (j 1) * width, width);}}} }int main() {int arr[] { 9,8,7,6,5,4,3,2,1,0 };int sz sizeof(arr) / sizeof(arr[0]);//使用回调函数模拟实现qsortbubble_sort(arr, sz, sizeof(arr[0]), int_cmp);//打印for (size_t i 0; i sz; i){printf(%d , arr[i]);//0 1 2 3 4 5 6 7 8 9}printf(\n);return 0; }代码2 //使用bubble_sort函数排序结构体数据 #includestdio.h #includestring.hstruct Stu //学生 {char name[10];//名字int age;//年龄 };//交换 void Swap(void* buf1, void* buf2, int width) {int i 0;for (i 0; i width; i){char tmp *((char*)buf1 i);*((char*)buf1 i) *((char*)buf2 i);*((char*)buf2 i) tmp;} } //qsort函数的模拟实现 void bubble_sort(void* base, int sz, int width, int (*cmp)(void*, void*)) {int i 0;int j 0;for (i 0; i sz - 1; i){for (j 0; j sz - 1 - i; j){if (cmp((char*)base j * width, (char*)base (j 1) * width) 0){Swap((char*)base j * width, (char*)base (j 1) * width, width);}}} }//假如按照年龄来比较 int cmp_stu_by_age(const void* p1, const void* p2) {return ((struct Stu*)p1)-age - ((struct Stu*)p2)-age; }//假如按照名字来比较 //strcmp() - 是库函数是专门来比较两个字符串的大小的 int cmp_stu_by_name(const void* p1, const void* p2) {return strcmp(((struct Stu*)p1)-name, ((struct Stu*)p2)-name); }//假如按照年龄来比较 void test1() {struct Stu s[] { {zhangsan, 20}, {lisi, 30}, {wangwu, 15} };int sz sizeof(s) / sizeof(s[0]);//qsort(s, sz, sizeof(s[0]), cmp_stu_by_age);bubble_sort(s, sz, sizeof(s[0]), cmp_stu_by_age); }//假如按照名字来比较 void test2() {struct Stu s[] { {zhangsan, 20}, {lisi, 30}, {wangwu, 15} };int sz sizeof(s) / sizeof(s[0]);//qsort(s, sz, sizeof(s[0]), cmp_stu_by_name);bubble_sort(s, sz, sizeof(s[0]), cmp_stu_by_name); }int main() {test1();test2();return 0; }
http://www.zqtcl.cn/news/738735/

相关文章:

  • 深圳建设银行官方网站wordpress 添加qq
  • 甘肃第九建设集团公司网站网站对企业的好处
  • 论坛网站建设规划书公司网站建设与设计制作
  • 做棋牌游戏网站犯法吗如何进行搜索引擎的优化
  • 常见的网站首页布局有哪几种陈光锋网站运营推广新动向
  • 手机网站活动策划方案开一个设计公司
  • 宝塔建设网站教程visual studio 2010 网站开发教程
  • 做网站购买服务器做谷歌网站使用什么统计代码吗
  • 网站系统与网站源码的关系emlog轻松转wordpress
  • 网站的简介怎么在后台炒做吉林省住房城乡建设厅网站首页
  • 泉州易尔通网站建设国际酒店网站建设不好
  • 网页下载网站福田企业网站推广公司
  • 北京网站建设开发公司哪家好网站添加在线留言
  • 新建的网站怎么做seo优化平面广告创意设计
  • yy陪玩网站怎么做软件项目管理计划
  • 西安建网站价格低百度推广区域代理
  • 中英网站模板 照明公司注册在自贸区的利弊
  • 全球十大网站排名wordpress标题连接符
  • 网站开发可能遇到的问题四川建筑人才招聘网
  • 镇江网站托管怎么做淘宝网站赚钱吗
  • 交互式网站是什么知名vi设计企业
  • 上海个人做网站网站建设销售好做嘛
  • 邵阳建设网站哪家好手机网站栏目结构图
  • 做动车哪个网站查网站环境配置
  • 那些网站可以做h5国内新闻最新消息今天简短
  • asp网站开发实例河南省建设招投标网站
  • 营销型网站搭建公司有没有专做推广小说的网站
  • 汕头网站搭建wordpress文章列表摘要
  • 网站开发体会800字网站开发新功能
  • 网站域名查询ip杭州pc网站开发公司有哪些