手把手教你深入理解指针,(4)

2025博客之星年度评选已开启 10w+人浏览 1.4k人参与


前言

这一章主要讲一下qsort函数以及sizeof和strlen的对比
制作不易,求个关注

回调函数是什么?

回调函数就是把一个函数的地址传给另外一个函数(把一个函数的地址当成另外一个函数的参数)
例:
test(add)//这里的add也是一个函数。

qsort函数(排序任意类型的数据)

是C语言提供的排序函数。是对两个相邻的数进行计算。
void qsort(voidbase,size_t nitems,size_t size,int(compar)(const void, const void))
voidbase:指针,指向了被排序数组的第一个元素。
size_t nitems:指向了被排序数组的元素个数。
size_t size:指向的被排序数组的元素大小(一个元素的字节数)
int(compar)(const voidp1, const void
p2):函数指针,指针指向的函数是用来比较被排序数组中的两个元素的
升序: p1-p2
p1>p2 返回>0;
p1<p2 返回<0;
p1=p2 返回0;
降序: p2-p1
p1<p2 返回>0;
p1>p2 返回<0;
p1=p2 返回0;
所以就是返回大于0的数字时,则交换
qsort函数的模拟实现

#define _CRT_SECURE_NO_WARNINGS 
# include <stdio.h>
int camp(const void* p1, const void* p2)
{
	return(*(int*)p1 - *(int*)p2);
}
void sam(const void* p1, const void* p2, int size)
{
	for (int i = 0; i < size; i++)
	{
		char tamp = *(char*)p1;
		*(char*)p1 = *(char*)p2;
		*(char*)p2 = tamp;
	}
}
void qsort11(void* base, int con, int size, int(*camp)(void*, void*))
{
	for (int i = 0; i < con - 1; i++)
	{
		for (int j = 0; j < con - 1 - i; j++)
		{
			if (camp(*(char*)base + j * size, *(char*)base + (j + 1) * size))
				sam(*(char*)base + j * size, *(char*)base + (j + 1) * size, size);
		}
	}
}
int main()
{
	int arr[] = {1,5,9,6,2,7,3,8,0,4};
	qsort11(arr, sizeof(arr) / sizeof(arr[0]),sizeof(int), camp);
	return 0;
}

sizeof和strlen对比

sizeof是计算里面操作数的类型长度的。单位:字节
里面的操作数可以是变量、类型、表达式(当为表达式时,表达式不计算
strlen是计算字符串的长度的,统计\0之前的字符个数。


源码地址: https://pan.quark.cn/s/d1f41682e390 miyoubiAuto 米游社每日米游币自动化Python脚本(务必使用Python3) 8更新:更换cookie的获取地址 注意:禁止在B站、贴吧、或各大论坛大肆传播! 作者已退游,项目不维护了。 如果有能力的可以pr修复。 小引一波 推荐关注几个非常可爱有趣的女孩! 欢迎B站搜索: @嘉然今天吃什么 @向晚大魔王 @乃琳Queen @贝拉kira 第三方库 食用方法 下载源码 在Global.py中设置米游社Cookie 运行myb.py 本地第一次运行时会自动生产一个文件储存cookie,请勿删除 当前仅支持单个账号! 获取Cookie方法 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 按刷新页面,按下图复制 Cookie: How to get mys cookie 当触发时,可尝试按关闭,然后再次刷新页面,最后复制 Cookie。 也可以使用另一种方法: 复制代码 浏览器无痕模式打开 http://user.mihoyo.com/ ,登录账号 按,打开,找到并点击 控制台粘贴代码并运行,获得类似的输出信息 部分即为所需复制的 Cookie,点击确定复制 部署方法--腾讯云函数版(推荐! ) 下载项目源码和压缩包 进入项目文件夹打开命令行执行以下命令 xxxxxxx为通过上面方式或取得米游社cookie 一定要用双引号包裹!! 例如: png 复制返回内容(包括括号) 例如: QQ截图20210505031552.png 登录腾讯云函数官网 选择函数服务-新建-自定义创建 函数名称随意-地区随意-运行环境Python3....
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值