我如何初始化所有这些变量为零而不声明每个变量在一个新的行?
int column, row, index = 0;
我如何初始化所有这些变量为零而不声明每个变量在一个新的行?
int column, row, index = 0;
当前回答
正如@Josh所说,正确答案是:
int column = 0,
row = 0,
index = 0;
对于指针,您需要注意同样的事情。这样的:
int* a, b, c;
等价于:
int *a;
int b;
int c;
其他回答
int column = 0, row = 0, index = 0;
正如@Josh所说,正确答案是:
int column = 0,
row = 0,
index = 0;
对于指针,您需要注意同样的事情。这样的:
int* a, b, c;
等价于:
int *a;
int b;
int c;
当声明一个变量而不初始化它时,将从内存中选择一个随机数,并将变量初始化为该值。
使用下面的声明,只有最后一个变量(index)被设置为0:
int column, row, index = 0;
相反,下面的代码将所有变量设置为0:
int column, row, index;
column = index = row = 0;
但就我个人而言,我觉得以下方法更有可读性:
int column = 0, row = 0, index = 0;
int column = 0;
int row = 0;
int index = 0;
如果每行声明一个变量/对象,不仅可以解决这个问题,还可以使代码更清晰,并防止在声明指针时犯愚蠢的错误。
为了直接回答您的问题,您必须显式地将每个变量初始化为0。Int a = 0, b = 0, c = 0;