友情链接
· 歪酷博客
· 管理我的Blog
· 我拍的照片
· <! --- Dude Start Here ---!>
· 多儿
· 洪七公的直接
· 科大吴老师
· 维C周星星
· 民工土人男
· 小猪土人女
· 闺中贝贝赵
· 女经纪范^_^
· 甜甜的老鼠
· 嗔!一群土人
· 佳佳的水云间
· micheal@uestc
· 摇滚女青年
· lyker@uestc
· JalenWoo@uestc
· plan@uestc
· 帅哥包同学
· 阿楠@uestc
· cicy小朋友
· 翠花的酸菜
· 终于承认是小资
· rice@uestc
· J@WING@uestc
· 咨询业的付毒人
· 丁珊珊同学
· 我的徒弟
· 五弟面爷
· 科大人文办周总
· <! --- Dude End Here ---!>
· <! --- Bookmark Start Here ---!>
· LWN
· Wikipedia
· ScienceWorld
· Public Library of Science
· <! --- Bookmark End Here---!>

Perpetuum Vestigium

一花一世界,一叶一乾坤。


« 上一篇: 写给成都的DX们 下一篇: God bless Post-Tsing Empire »
kaby @ 2008-05-13 00:11

花了两天时间把C FAQ又过了一遍,发现了从前忽略的一些点。

1. 虽然K&R上说结构体必须memcpy或者一个元素一个元素的赋值,其实struct可以直接用=操作符做整体拷贝的;
2. offsetof(),用来计算结构体内成员偏移的宏;
3. 如果函数的返回值为struct,C也会类似C++的在函数形参里加上一个struct *指针的;
4. 可能大家都习惯malloc后做强转了,其实这是含糊的C/CPP编译器混用的恶果。作为C程序,其一void *可以自动转换,其二因为C默认函数返回int,如果malloc没有正确申明,int也会被错误的强转为指针且不报错;
5. sequence point间evaluation的顺序是不保证的;
6. void **是一个很无厘头的东西,void *作为万用指针,void **是什么?指向万用指针的特型指针?
7. 关于申明指针char *p还是char* p的问题,char* p, c这样误导性的代码就是答案。永远写成前者,这不是风格问题;
8. 3["abcde"] 等于 3 + "abcde" 等于"abcde" +3 等于"abcde"[3],华丽的C语言。



最新评论


rockins

2008-06-06 13:19 匿名 218.194.*.*

似乎并非所有编译器都支持offsetof()操作符,未核C标准是否有要求。

C99里面貌似是有的。。。编译器不规范吧

评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定

网志分类
· 所有网志 · 壹家杂谈 · Tech. et Sci. · 未分类 ·
站内搜索

订阅 RSS

0039271

歪酷博客