我尝试创建的程序必须要求用户输入矩阵的大小,然后从文件中读取数据以放入所述矩阵中。唯一的问题是信息只能用指针输入,并且只能使用指针运算。完整规范如下:
- 读取矩阵的维度
- 提示输入文件名并将该文件中的数据读入矩阵
- 利用结构体数组,其中单个结构体保存矩阵中列的平均值、中位数和标准差。
- 所有代码都应通过指针和指针算术访问内存位置。
我想知道是否有任何方法可以在不使用数组表示法的情况下调用矩阵内的数据(例如 myArray[0][1])?我一直知道使用该符号,并且不了解如何在没有该符号的情况下分隔给定数据。任何帮助将不胜感激。
最佳答案
您应该尝试动态分配矩阵。以下是有关如何执行此操作的示例代码。
#include <stdio.h>
#include <stdlib.h>
int main() {
int row, col;
// Get the matrix dimension ...
int **matrix = (int**) malloc(sizeof(int*) * row);
for (int i = 0; i < row; i++) {
matrix[i] = (int*) malloc(sizeof(int) * col);
}
// Do something with the matrix ...
// You could still access the matrix with array notation
for (int i = 0; i < row; i++) {
free(matrix[i]);
}
free(matrix);
return 0;
}
关于c++ - 使用指针表示法从矩阵读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32469985/