如果
int len = sizeof(arr)/sizeof(int);
给我们一个数组的长度,
sizeof(arr)
是数组的字节大小,sizeof(int)
给我们数组的数据类型的大小,
int rowDimension = sizeof(mat)/sizeof(mat[0]);
sizeof(matrix)
和sizeof(matrix[0])
给我们什么?
和sizeof(matrix)
给我们什么?sizeof(matrix[0])
int matrix[3][5]; // Assume sizeof(int) --> 4
sizeof(matrix)
是对象/类型的大小(以字节为单位)。 (60)
sizeof(matrix[0])
是对象/类型元素的大小(以字节为单位)。 (20,因为数组元素类型是int[5]
)。
60/20 --> 3, the number of "rows" in the matrix.
比
size_t
更适合使用 int
来调整尺寸。 sizeof
返回一个 size_t
.
找到“列”
// 5 = 20 / 4
size_t columnDimension = sizeof matrix[0] / sizeof matrix[0][0];
()
在调整类型大小时需要,但不是对象。