C语言中未使用的变量错误。简单问题

时间:2011-08-16 16:11:00

标签: c xcode4

当我输入以下代码

时,我在C(错误 - 未使用变量)中得到变量的错误
int i=10;

但是当我这样做时(把它分成两个陈述)

int i;
i=10;

错误消失

..我正在使用Xcode(ver-4.1)(Macosx-Lion).. xcode有问题....

2 个答案:

答案 0 :(得分:5)

没有任何错误,编译器只是警告您声明了一个变量,而您没有使用它 这只是一个警告,而不是错误 虽然没有任何问题,但您必须避免声明您不需要的变量,因为它们只占用内存并且在首次不需要时会增加开销。

答案 1 :(得分:1)

编译器不是错误,但它没有机会打印出有意义的错误。

显然,如果您声明变量但从不“使用”它,它会发出警告 - 并为其分配一个值可以使用它。这两个代码片段是等效的;第一个恰好让编译器更容易检测到问题。

可以为永远不会读取其值的变量发出警告。如果它在更高的优化级别上这样做,我也不会感到惊讶。 (优化所需的分析对于发现此类问题也很有用。)

编译器根本不可能检测到所有此类问题;这样做相当于解决停机问题。 (我认为。)这就是为什么语言标准通常不需要这样的警告,不同的编译器花费不同程度的努力来检测这些问题。

(实际上,编译器可能会检测到所有未使用的变量问题,但会以一些误报为代价,即在没有真正问题的情况下发出警告。)