У меня есть 3 строки кода, которые выполняют точно то же самое, но имеют другой синтаксис, базовый код:
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));
}
На линии pa = (int *)&arr;
, Я могу переключить эту линию на (int *)array
, (int *)&array
, и &array
не сталкиваясь ни с какими проблемами, только получив предупреждение в последний раз. Мне было интересно, каков правильный синтаксис и в чем разница между всеми 3 из них.