我正在研究C/C++中的指针,并且作为我的小项目来学习这个问题,我正在尝试开发一个简单的应用程序,使用矩阵运算。我想问一下,如果我使用指针和动态分配的方式是正确的,或者我错了。谢谢:)我的指针和动态分配的实现是否正确?
#include <stdlib.h>
#include <stdio.h>
int numberRows;
int numberCollumns;
void getSize()
{
printf("Write down size of matrix in format Rows Collumns: ");
scanf("%i %i", &numberRows, &numberCollumns);
}
void getMatrix(int *m[])
{
int x = 0;
int y = 0;
while(x<numberRows)
{
while(y<numberCollumns)
{
scanf("%i", &m[x][y]);
y++;
}
x++;
y = 0;
}
}
void writeMatrix(int *m[])
{
int x = 0;
int y = 0;
while(x<numberRows)
{
while(y<numberCollumns)
{
printf("%i ", m[x][y]);
y++;
}
printf("\n");
x++;
y = 0;
}
}
int main()
{
getSize();
int **matrix;
matrix = (int**)malloc(numberRows*sizeof(int*));
int x = 0;
while(x < numberCollumns)
{
matrix[x] = (int*)malloc(numberCollumns*sizeof(int));
x++;
}
getMatrix(matrix);
printf("\n\nMatrix: \n");
writeMatrix(matrix);
return 0;
}
这是C风格的代码,而不是C++。 C/C++不是一种语言,请选择其中一种。 – GManNickG
你测试了这个代码吗?它是否按照您的预期行事? – Beta
可能对codereview网站更好。 – Joe