c
- это массив из 32 указателей на символ, то есть типа char *[32]
, и, как и любой массив, он может автоматически и тривиально распадаться на указатель на первый элемент массива, который имеет тип char **
. Кажется, это то, что вам нужно.
&c
, однако имеет указатель типа на массив из 32 указателей на char, то есть char *(*)[32]
, и вам это не нужно!
Кажется, ваша проблема с s
и маленькой стрелкой. Попробуйте:
s.x = c;
Кстати, высказывание не работает не так полезно, как копирование реальных сообщений об ошибках ...