Mam 3 linie kodu, które wykonują dokładnie to samo, ale mają inną składnię, podstawowy kod:
int a, b;
printf("Enter the size of your array [a][b]: ");
scanf("%d %d", &a, &b);
int arr[a][b];
int *pa;
pa = (int *)&arr;
for (i = 0; i < a*b; i++)
{
printf("[%d] [%d] = ", i/b, i%b);
scanf("%d", (pa + i));
}
Na linii pa = (int *)&arr;
Mogę przełączyć tę linię na (int *)array
, (int *)&array
i &array
nie zderzając się z żadnymi problemami, tylko po otrzymaniu alertu po raz ostatni. Zastanawiałem się, jaka jest poprawna składnia i jaka jest różnica między wszystkimi 3 z nich.