Witam. Napisałem sobie taki prosty programik na tablicach i pewna rzecz mnie zdziwiła:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
int tab[2][2] = {1, 2, 3, 4};
*tab[1] = 10;
printf("%d ", tab[0][0]);
printf("%d ", tab[0][1]);
printf("%d ", tab[1][0]);
printf("%d ", tab[1][1]);
printf("%d ", tab[0][2]);
printf("%d ", tab[0][3]);
printf("%d", tab[1][2]);
getchar();
getchar();
return 0;
}
Zadeklarowałem tablicę 2 na 2 i poszczególne elementy tablicy mają indeksy [0][0] [0][1] [1][0] i [1][1] i tutaj rozumiem. Wypełniłem te elementy jakimiś tam danymi. Jednak jak np. próbuję odnieść się do elementów [0][2] i [0][3] to wyświetla mi elementy spod [1][0] i [1][1] czemu tak się dzieje? Przecież nie mam takich indeksów w tablicy. Mimo to wyświetlają mi się dane, a nie wyskakuje błąd jak przy próbie wyświetlenia elementu o indeksie [1][2].