我如何初始化所有这些变量为零而不声明每个变量在一个新的行?

int column, row, index = 0;

当前回答

我不建议这样做,但如果你真的想在一行中只写一次0,你也可以这样做:

int row, column, index = row = column = 0;

其他回答

int column = 0, row = 0, index = 0;

如果每行声明一个变量/对象,不仅可以解决这个问题,还可以使代码更清晰,并防止在声明指针时犯愚蠢的错误。

为了直接回答您的问题,您必须显式地将每个变量初始化为0。Int a = 0, b = 0, c = 0;

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;