fenby吧 关注:146贴子:855
  • 0回复贴,共1

C语言goto关键字要尽量少用

取消只看楼主收藏回复

一般来说,编码的水平与goto 语句使用的次数成反比。有的人主张慎用但不禁用goto语句,但我主张禁用。关于goto 语句的更多讨论可以参看Steve McConnell 的名著《CodeComplete. Second Edition》。
禁用goto 语句。自从提倡结构化设计以来,goto 就成了有争议的语句。首先,由于goto 语句可以灵活跳转,如果不加限制,它的确会破坏结构化设计风格;其次,goto 语句经常带来错误或隐患。它可能跳过了变量的初始化、重要的计算等语句,例如:
struct student *p = NULL;

goto state;
p = (struct student *)malloc(…); //被goto 跳过,没有初始化

state:
//使用p 指向的内存里的值的代码

如果编译器不能发觉此类错误,每用一次goto 语句都可能留下隐患。


1楼2013-06-24 10:02回复