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