C++中的{0}数组填充赋值
{0} array filling assignment in C++?
我读到使用这个赋值声明
int arr[n][n]={0};
将给出一个充满0的nxn矩阵,但当我运行它时,它不会在特定位置给出0,在某些情况下,它们甚至看起来像地址,特别是在末尾arr[n][n]和arr[n][1]附近,其中所有其他都被分配给0。是什么导致了这种分配?使用for循环填充此数组不会产生此问题。
编辑:在这种情况下,n是任何正整数>=2
似乎{number}
只影响第一个元素,而保留其余元素。下面的语句将所有元素设置为0。感谢评论中的人真正回答了这个问题。
int arr[n][n]={};
特别是在
arr[n][n]
和arr[n][1]
末端附近
arr[n][n]
和arr[n][1]
都是无效访问,使用这些索引会导致未定义的行为。
有效索引的范围是[0,n-1],例如最后一个元素是arr[n - 1][n - 1]
。
相关文章:
- 在c++中用vector填充一个简单的动态数组
- 如何使用用户输入在C++中正确填充2D数组
- 如何找到大小'x'数组是否完全填充,在C++?
- 如何正确填充在堆上分配的二维数组?
- 如何将零填充的多维数组传递给 C++ 中的函数?
- C++ 填充数组时遇到问题
- 数组填充了不正确的值
- 使用初始化列表填充C++中的多维结构数组时出现问题
- 用数据填充未指定大小的数组
- C++填充多维标准::数组
- 如何在 c++ 上将一定大小的数组填充到另一个更大大小的数组中?
- 有没有办法使用数组填充向量?
- 如何使用 PPM 格式的 uchar* 数组填充 QPixmap
- 在C 中动态分配的数组填充
- 使用数组填充对称矩阵
- C++中的{0}数组填充赋值
- 如何在OpenCV中用OpenNi的deepPixel数组填充矩阵
- 按行、列或随机从数组填充矩阵时出现错误索引问题
- 如何加快非顺序数组填充
- 将数组填充到最大值(memcpy vs vector)