Многомерные массивы в С

Расширим требования к такой структуре данных, как массив -- теперь мы хотим иметь возможность индексироваться в нем несколькими индексами. Например, хранить в памяти таблицу из \(N\times{M}\) чисел, или еще более сложную структуру. Такая возможность в языке С тоже есть, и подобная структура называется многомерным массивом.

int a[10][20]; // Объявление двумерного массива из 200 элементов

int b[10][20][30]; // Объявление трехмерного массива из 6000 элементов

Несколько важных фактов про массив, определенный подобным образом:

ПРИМЕР

Считываем матрицу, транспонируем ее и выводим в стандартный вывод.

#include <stdio.h>

int main()
{
    int n;
    int i, j;
    int a[10][10];
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
        }
    }
    for (i = 0; i < n; i++)
    {
        for (j = i; j < n; j++)
        {
            int t = a[i][j];
            a[i][j] = a[j][i];
            a[j][i] = t;
        }
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            printf("%d", a[i][j]);
        }
        printf("\n");
    }
    return 0;
}