我正在研究 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;
}