当前位置: 编程技术>c/c++/嵌入式
基于c语言知识点的补遗介绍
来源: 互联网 发布时间:2014-10-14
本文导语: 使用C很长时间,但是很难说对c的各个点都十分的透彻。虽然c不像c++那样复杂,但是还有很多叽里旮旯儿:并不是他们有多难,而是在于他们平时用的不多,或者和人的第一直觉相悖,再或者初学时经验有限理解不深根本没有...
使用C很长时间,但是很难说对c的各个点都十分的透彻。虽然c不像c++那样复杂,但是还有很多叽里旮旯儿:并不是他们有多难,而是在于他们平时用的不多,或者和人的第一直觉相悖,再或者初学时经验有限理解不深根本没有记住。
下面的这些东西可能来自《c专家编程》或者网络。最近发现基础的经典的书籍常读常新,原因可能有两个:
1、随着自己经验的增长,你的认识可能会不一样,思维的方式也会有所变化,而得到的东西自然会是新的东西。
2、早些时候经验有限,有些点可能根本就没有完全理解。现在你可以理解的更深刻。
这方面的书籍再比如《代码大全》,前几天翻了一下,又有不同的认识。
进入正题:
1、有符号和无符号的比较:
printf("%dn", sizeof('A')):打印的值是4(或者是int的长度)而不是1。因为c有类型提升,它会首先把'A'提升为int类型,然后在传给sizeof。表达式中的参数会提升为int或者double,然后在进行运算,之后再进行裁剪,获得指定类型的值。
if (-1