이 I 동적, C의 매트릭스 (2 차원 배열)을 만들 알고있는 유일한 방법이며, 그 요소에 사용자 입력을 읽고 :C에서 동적 행렬을 만드는 방법은 무엇입니까?
x
포인터 배열 각 포인터에 대한 포인터를 생성 은 행렬의 행을 나타냅니다.x
은 행렬의 행 수 (높이)입니다.이 배열의 각 포인터를
y
요소 인 인 배열로 지정합니다. 여기서y
은 행렬의 열 수 (너비)입니다.
int main()
{
int i, j, lines, columns, **intMatrix;
printf("Type the matrix lines:\t");
scanf("%d", &lines);
printf("Type the matrix columns:\t");
scanf("%d", &columns);
intMatrix = (int **)malloc(lines * sizeof(int *));
//pointer to an array of [lines] pointers
for (i = 0; i < lines; ++i)
intMatrix[i] = (int *)malloc(columns * sizeof(int));
//pointer to a single array with [columns] integers
for (i = 0; i < lines; ++i)
{
for (j = 0; j < columns; ++j)
{
printf("Type a number for <line: %d, column: %d>\t", i+1, j+1);
scanf("%d", &intMatrix[i][j]);
}
}
이 작업을 수행하려면 거기에 다른 방법이 있습니까?
실제로 다른 방법이 필요합니까? – Tudor
다차원 배열에 대해서는 http://www.parashift.com/c++-faq/multidim-arrays2.html을 읽으십시오. –