语言与算法
老马何以识途
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一个算法的C实现
昨天看到这么个题目,刚好比较闲,于是就用C实现了,并在Redhat Linux 8.0下编译运行通过: 小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月原创 2010-01-16 09:18:00 · 426 阅读 · 0 评论 -
联合体的存放顺序问题
C语言中的联合体是有固定存放顺序的,一定是从低地址开始存放数据,在小端系统中,和系统是一致的,但到了大端系统,就和系统相反了。因此对联合体的运用,最保险的办法是严格定义联合体变量,而不是贪图方便,直接用基本类型变量代替,这样当跨平台时才能尽量避免错误。比如以下的代码,在x86、mips上都是没问题的:semctl(id, 0, SETVAL, 1)但是在PowerPC上,他就会原创 2017-06-30 17:53:18 · 2063 阅读 · 6 评论 -
C语言中如何使用通用双向链表
通用双向链表,指的是通过一个通用的数据结构,然后添加特定数据形成有具体用途的链表。这主要涉及到代码复用,在C++中实现非常方便,只需要定义一个双向链表的类,每一个具体业务只需要继承它,然后添加自己的数据成员即可。但有时候我们需要用C语言而不是C++,那么该如何实现这种层次关系呢?首先我们来看两个宏。第一个是offsetof(可参考Linux内核代码include/linux/Stddef.h):原创 2017-07-04 23:32:58 · 1117 阅读 · 0 评论
分享