c++ - 如何获取和比较数据?

标签 c++ arrays pointers matrix

我创建了一个带有指向指针的矩阵。

int** matrix = new int*[5];
for(int i = 0; i < 5; i++)
    matrix[i] = new int[5];

如果我假设正确,它所做的是创建一个名为矩阵的指针,它指向一个指针数组,数组中的每个指针都指向一个整数数组,该数组的项由整数类型数据组成。 我是这样写数字的:

for(int i = 0; i < 5; i++)
    for(int j = 0; j < 5; j++)
        matrix[i][j] = 6 + j;

我的问题来了:当我尝试比较矩阵中的项目时,if 语句不比较矩阵中存储的数据,而是比较项目的内存地址。

if(matrix[i][0] == matrix[i][j])

我该如何解决这个问题?我尝试了很多不同的东西,但到目前为止都没有奏效。提前致谢!

最佳答案

您不能再取消引用,因为 matrix[i][j] 解析为矩阵内的实际值(整数)。

我用这段代码测试过:

cout << "Value of matrix[0][0]: " << matrix[0][0] << endl;
cout << "Pointer to matrix[0][0]: " << &matrix[0][0] << endl;

这给了我:

Value of matrix[0][0]: 6
Pointer to matrix[0][0]: 0x1705040

关于c++ - 如何获取和比较数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19350767/

相关文章:

c - 拆分文件中的字符串并将值保存在数组中会打印错误的输出

c - 使用指针功能 - 1 台设备上的 2 个独立应用程序

c++ - 将整数插入 vector 时,while 循环无法正常工作

c++ - 我的 C++ 代码永远不会通过 else 语句执行

php - 更具声明性的 PHP : array conversion

c++ - C++ 中具有常量的数组的指针和引用

c - 在函数指针数组中设置值时函数参数太少

Java:我应该如何从另一个类引用公共(public)对象?

c++ - 从二进制文件中读取 std::string

用于将对象流的转换链接在一起的 C++ 设计模式