我正在做一些练习,遇到了这个:
给定元素类型
int
的二维数组x
,编写一个 表达式,其值为第 3 个元素之和 行/第 4 列和第 5 行/第 1 列中的元素。
现在的解决方案是:
x[2][3] + x[4][0]
我的第一个假设是:
x[3][4] + x[5][1]
这显然是错误的。我有点难以理解为什么答案是这样写的。任何帮助,不胜感激。
数组在
C++中索引为零。
数组从
0 开始索引,因此如果要访问第 n 个位置的值,则必须使用 T[n-1]
访问它。
因为数组的索引为零。数组中的第一个元素始终是 Array[0]
这是因为数组中的指针从 0 开始,而不是 1。
Becuase 数组以索引 0
开头。为了更好地理解它,将其转换为指针形式,它将简化为:
x
是指向数组的指针:
*(x+0*NO_OF_COL+0) = x[0][0] = 0th row, 0th element,
*(x+0*NO_OF_COL+1) = x[0][1] = 0th row, 1st element,
。
*(x+1*NO_OF_COL+0) = x[1][0] = 1st row, 0th element,
*(x+1*NO_OF_COL+1) = x[1][1] = 1st row, 1st element,
等