C语言小知识
(2011-05-14 22:33:48)
标签:
c语言函数结构体内存分配浮点数精度 |
分类: 编程经验--积跬步至千里 |
1.struct st{int a, int *b); 对于f(st
s),形参s得到的是实参的备份,这样可以通过形参修改b指向的内容,但a的值无法修改。若想修改a,则要用st*
做形参。c语言的形参可以是值传递或者是地址传递。
2.在vs中,直接把文件后缀名改为.c,则可调用c编译器。这样就可以写纯c代码了。
3.内存分配不出可能有两个原因。一个是没有多余的内存可以分配,一个是由于其他地方内存被越界操作,这样也不会再分配新内存了。
4.在浮点数计算中,所有的相等都变成不等关系,这时规定一个精度是必要的。float的有效数字只有7位,而double的有效数字有16位。前者需要4个字节,后者要8个字节。
5.文件打开的操作本身会带来一系列的存储分配,这就是说,凡是申请指针的地方出现返回值为NULL的话,很可能是有个地方的malloc指定的内存大小错误,导致接下来的代码寻址错误!

加载中…