Я думаю, что хотя int (*)[2]
является допустимым типом для указания на массив из двух int
с, это, вероятно, излишнее для того, что вам нужно, то есть тип указателя для доступа к членам массива. В этом случае просто int *
, указывающий на целое число в массиве, - это все, что вам нужно.
int *p = struc; // array decays to pointer to first element in assignment
p[0]; // accesses first member of the array
p[1]; // accesses second member of the array
Как уже указывали другие, если вы используете указатель на массив, вы должны разыменовать указатель перед использованием операции индексации в результирующем массиве.
int (*Myval)[2] = &struc;
(*Myval)[0]; // accesses first member of the array
(*Myval)[1]; // accesses second member of the array
Здесь помогает синтаксис объявления C 'объявление использования зеркал'.