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

果洛州商城网站建设模板建站价格

果洛州商城网站建设,模板建站价格,多开商城,网站建设背景1. 回调函数是什么? 回调函数就是⼀个通过函数指针调用的函数。 如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数。 void qsort(void base,//指针…

1. 回调函数是什么?

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

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


void qsort(void base,//指针,指向第一个待排序数组的第一个元素size_t num,//是base指向排序数组的元素个数,size_t size,//base指向的待排序数组元素的大小int (*copare)(cosnt void *cosnt void *,) ;//函数指针---指向的就是两个元素的比较函数 
实现这个函数如下面代码:
#include <stdio.h>
#include <tdilib.h>
void parr(int arr[], int sz)
{for (int i = 0;i < sz;i++){primntf("%d ",arr[i]);}
}
int cmpm_it(const void *p1,const void *p2)
{return *(int*)p1-*(int*)p2;
}
int main()
{int arr[] = {9,5,2,4,6,4,8,1};int sz=sizeof(arr) / sizeof(arr[0]);qsort(arr,sz,sizof(arr[0],cmpm_it);parr(arr,sz);return 0;
}

2.qsort排序结构体/整型数据:

#include <stdio.h>
#include <stdlib.h>
struct stu
{char name[20];int age;
};
void parr(int arr[], int sz)
{for (int i = 0;i < sz;i++){primntf("%d ", arr[i]);}
}
//结构体大小用名字大小比较
int cmpm_it_name(const void* p1, const void* p2)
{return strcmp(((struct stu*)p1)->name,((struct stu*)p2)->name);
}
//结构体大小用年龄大小比较
int cmpm_it_name(const void* p1, const void* p2)
{return (((struct stu*)p1)->age, ((struct stu*)p2)->age);
}
int main()
{struct stu arr[] = {"zhansn",15,"李四",16};int sz = sizoef(arr) / sizeof(arr[0]);qsort(arr, sz, sizof(arr[0]), cmpm_it_name);parr(arr, sz);return 0;
}

3.模拟qsort实现:

#include<stdio.h>
int int_cmp(const void * p1, const void * p2)
{return (*( int *)p1 - *(int *) p2);
}
void _swap(void *p1, void * p2, int size)
{int i = 0;for (i = 0; i< size; i++){char tmp = *((char *)p1 + i);*(( char *)p1 + i) = *((char *) p2 + i);*(( char *)p2 + i) = tmp;}
}
void bubble(void *base,//指向第一个元素指针int count , //元素个数int size,//一个元素大小个数int(*cmp )(void *, void *))//两个元素比较函数
{int i = 0;int j = 0;for (i = 0; i< count - 1; i++){for (j = 0; j<count-i-1; j++){if (cmp ((char *) base + j*size , (char *)base + (j + 1)*size) > 0){_swap(( char *)base + j*size, (char *)base + (j + 1)*size, size);}}}
}
int main()
{int arr[] = { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0 };int i = 0;bubble(arr, sizeof(arr) / sizeof(arr[0]), sizeof (int), int_cmp);for (i = 0; i< sizeof(arr) / sizeof(arr[0]); i++){printf( "%d ", arr[i]);}printf("\n");return 0;
}

4.sizeof和strlen

1.1 sizeof

我们学习了 sizeof sizeof 计算变量所占内存内存空间⼤⼩的,单位是 字节,如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的⼤⼩。

sizeof 只关注占⽤内存空间的⼤⼩,不在乎内存中存放什么数据。

#inculde <stdio.h>
int main()
{int a = 10;printf("%d\n", sizeof(a));printf("%d\n", sizeof a);printf("%d\n", sizeof(int));return 0;
}

1.2 strlen

strlen 是C语⾔库函数,功能是求字符串⻓度。函数原型如下:
1 size_t strlen ( const char * str );
统计的是从 strlen 函数的参数 str 中这个地址开始向后, \0 之前字符串中字符的个数。
strlen 函数会⼀直向后找 \0 字符,直到找到为⽌,所以可能存在越界查找。

1.3 sizeof 和 strlen的对比

http://www.dtcms.com/wzjs/111299.html

相关文章:

  • 深圳网站设计廊坊公司免费b站推广网站
  • 嘉兴微信网站建设中国联通业绩
  • wordpress各个页面名称标签seo和sem分别是什么
  • 德阳网站设计福州seo扣费
  • 政府网站建设进展情况百度推广是什么意思
  • 徐州市城乡建设局官方网站微信搜一搜排名优化
  • 网站导航栏动效怎么做的企业推广是做什么的
  • 英文版网站建设山东关键词优化联系电话
  • 做网站推广也要营业执照吗百度指数查询官网
  • 商务网站建设的基本步骤seo的定义
  • 网店设计与装修青岛seo百科
  • 怎么做简单的企业网站北京百度快照推广公司
  • html网站分页怎么做软文推广什么意思
  • 国家 政府网站建设 指导性文件有哪些福州百度代理
  • 网站开发的技术简介怎么样关键词优化
  • 柳州网站建设服务google搜索引擎入口网址
  • 网站备案号在哪里查询公司域名注册查询
  • 上百度推广 免费做网站搜索引擎优化的方法和技巧
  • 南京网站设计建设微信营销的方法有哪些
  • 全球网站建设服务商个人网页模板
  • 红色网站 推荐10常用的网络营销方法
  • 自助建站怎么实现的百度引擎入口
  • 用java做网页如何建立网站厦门seo优化
  • 淘宝客网站做的好的76人vs猛龙
  • b2c网站对比泰州seo外包公司
  • 淘宝客帮做网站win10优化工具下载
  • 如何做网站卖画河南新站关键词排名优化外包
  • seo网站推广可以自己搞吗广州市最新消息
  • 甘肃省建设厅招标办网站seo推广专员工作内容
  • 素材网站怎么推广域名网站查询