unix/linux编程实践教程------学习笔记(三)

本文详细介绍了C语言中使用qsort函数对结构体数组进行排序的方法,并探讨了open_dir、read_dir和close_dir函数用于目录操作的基础知识。同时,解释了Linux中DIR类型的定义和作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一) qsort 函数

用法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));  

各参数意义:1.待排序数组首地址   2.数组中带排序元素的数量  3.各元素占用空间大小     4.指向函数的指针(这里void * 如果函数参数不指定,就使用void *)。这里的第4个参数是用来判断大小的函数。如果我不只是想排序一个数字而已,我还想对结构体数组进行排序,因此我要定义一个函数。比如有一个结构 struct num { int m; int n; }; 然后我有一个num 类型的数组, num dddd[100]; 我想给 dddd这个数组排序,那怎么办?排序的规则是以m+n大小排序.

程序如下:

<pre name="code" class="cpp">int cmp(const void* a,const void *b)
{
    return ((*(num *)a.m)+(*(num *)a.n)-(*(num *)b.m)-(*(num *)b.n));
}

qsort(dddd,100,sizeof(dddd[0]),cmp);




(二)open_dir,read_dir,close_dir  (对目录操作的函数)

(三)linux的DIR类型。这种类型是linux中对于目录文件的定义,类似于文件描述符。

(四)类似于sys/types.h这种头文件是在x86_64目录下,


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值