c++ - 如何使用指针读取 nxn 矩阵?

标签 c++ c

我是 C++ 的新手,我正在尝试学习指针。 作为一项工作练习,我尝试使用指向指针的指针来读取 nxn 矩阵。 到目前为止,这是我尝试过的方法,但是 scanf 失败了。 我做错了什么?
稍后编辑:

int **matrix;
int i=0;
int j=0;
int li=0;
int dim;

printf("What is the dimmension:");
scanf("%d",&dim);
matrix=(int **)malloc(sizeof(int *) * dim);
for(li=0;li<dim;li++)
{
    matrix[li] = (int *)malloc(sizeof(int) * dim);
}
printf("Type the elements:\n");
for(i=0;i<dim;i++)
{
    for(j=0;j<dim;j++)
    {
        scanf("%d", matrix[i][j]);
    }
}

最佳答案

如果你正在使用 C++,最好这样做

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

// to read matrix
scanf("%d", matrix[i][j]);

关于c++ - 如何使用指针读取 nxn 矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10178581/

相关文章:

c++ - 在设置了断点的 Windows 上分配、解除分配和内存管理

c - 如何使用此正则表达式避免 regcomp 错误 13?

c - 使用单指针代替双指针

c - forkall 没有按预期工作

c++ - 如何在 C++ 中按回车键执行代码?

c++ - std::set 中的自定义仿函数

c++ - 带有 pimpl 习语的模板化类不正确

c++ - OpenGL 中的蠕虫爬行运动?

c - 读取文件并将其存储在结构中,以便可以在其他函数中使用

c - 具有内联汇编和访问 c 变量的多线程