原帖由 sillydog825 于 2006-12-21 16:44 发表
可以用sizeof吗?
原帖由 whyglinux 于 2006-12-22 09:37 发表
>> 这样的情况是用一个宏.而不是去 sizeof
>> 对,应该用宏
至少对楼主的程序而言,用 sizeof 比定义宏要更好一些。
能不用宏的情况下就不要使用宏,这是人们的经验总结,也应该作为一条应该 ...
原帖由 whyglinux 于 2006-12-22 09:37 发表
>> 这样的情况是用一个宏.而不是去 sizeof
>> 对,应该用宏
至少对楼主的程序而言,用 sizeof 比定义宏要更好一些。
能不用宏的情况下就不要使用宏,这是人们的经验总结,也应该作为一条应该 ...
原帖由 albcamus 于 2006-12-22 11:32 发表
我还干过这种事呢:
复制代码
- for ( i = 0; i < 2n; i++)
- {
- ...
- }
然后对着这行代码发了2小时呆,不懂为什么编译器说有错
原帖由 r2007 于 2006-12-22 11:53 发表
数学学多了
原帖由 whyglinux 于 2006-12-22 12:21 发表
To moaotian
>> 说这话的完全是一个激进的程序设计者
要看清我说的话的意思。我说的是“能不用宏的情况下就不要使用宏”。
>> 排斥语言特性或叫诋毁其实是一个程序员在追 ...
原帖由 whyglinux 于 2006-12-22 14:37 发表
>> 个人认为理论上是这样的,但在实际编码时,往往宏来的要方便一些。
有这种感觉,往往说明还没有体会到使用宏带来的危害性,或者还缺乏 enum 的使用经验。要习惯用 enum。
>> 其实很多大系统 ...
原帖由 zx_wing 于 2006-12-23 14:15 发表
>>宏的危害之一是会污染名字空间。
枚举如何做到不污染名字空间呢?
>>例如,如果在自己的程序中声明了和宏相同名字的变量,可能会造成莫名其妙的编译错误。
如果只是编译和链接时的 ...
原帖由 r2007 于 2006-12-23 14:23 发表
这么说只能无语了。
记得那个著名的对乔治.马洛里的采访—— 问:“你为什么要登山?” 答:“因为它就在那儿!”
Beacuse it's there.
原帖由 whyglinux 于 2006-12-23 14:59 发表
假设出于需要,在程序中添加了位于 /************************/ 之间的一段代码。在修改的代码中,用宏和 enum 定义 X 可给 test() 的执行带来不同的结果。
[code]
#include <stdio.h>
int X = 10 ...
原帖由 bierdaci 于 2006-12-26 00:29 发表
if (num == Max);
{
DoSomething();
}
这大概是很多写程序的人常犯的错误了
if (num == Max) {
DoSomething();
}
这种风格也许会少犯些这样的错误
原帖由 whyglinux 于 2006-12-23 14:59 发表
假设出于需要,在程序中添加了位于 /************************/ 之间的一段代码。在修改的代码中,用宏和 enum 定义 X 可给 test() 的执行带来不同的结果。
[code]
#include <stdio.h>
int X = 10 ...
原帖由 wolf0403 于 2006-12-26 12:35 发表
就像CSDN那种教学站点,我是实在没什么兴趣和他们唠叨
攻击 CSDN 不能证明你水平有多高。
原帖由 blackuhlan 于 2008-7-24 21:33 发表
函数原型:
int check_str( char *pszSource, int len);
调用:
if( (check_str( buf ), sizeof(buf) )
{
...
}
调试了5遍不明白它怎么老是返回真
原帖由 blackuhlan 于 2008-7-24 21:33 发表
函数原型:
int check_str( char *pszSource, int len);
调用:
if( (check_str( buf ), sizeof(buf) )
{
...
}
调试了5遍不明白它怎么老是返回真
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |