我想知道是否可以在 C 中将二维数组的每个元素初始化为相同的值。我这样声明我的二维数组:
char arry[x][y];
我希望每个元素 arry[0...x][0...y] 都包含星号字符。有没有没有循环的简单方法来做到这一点?我在想类似的东西:
char arry[x][y] = '*'
但我知道那行不通。
最佳答案
你可以使用 scalar initializer :
// Define row and column
int row = 4, col = 5;
// Initialize 2D character array
char array2D[row][col] = {[0 ... (row-1)][0 ... (col-1)] = '*'};
// Print array to screen
printf("\nArray:\n");
for(int x = 0; x < row; x++)
{
for(int y = 0; y < col; y++)
printf("%c\t", array2D[x][y]);
printf("\n");
}
你可以看到输出:
Array:
* * * * *
* * * * *
* * * * *
* * * * *
关于c - 将二维数组全部初始化为相同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15715968/