Я должен отсутствовать что-то очевидное ...ANSI C: Анонимный указатель в структуре на массив строк - проблемы?
Я хотел бы иметь пустой указатель на массив строк в моих структурах:
typedef struct SCR_SETTEXT_DESC_S
{
uint_8 Value; //Current value - copy made prior function call
char *Strings; // Pointer to array of strings
} SCR_SETTXT_DESC;
Тогда я хотел бы использовать эту структуру и назначить реальный массив строк:
SCR_SETTXT_DESC ScrSetTxtDesc;
char ScreenSetTxt_strings[4][20];
strcpy(ScreenSetTxt_strings[0], "choice1");
strcpy(ScreenSetTxt_strings[1], "choice2");
strcpy(ScreenSetTxt_strings[2], "choice3");
ScrSetTxtDesc.Strings = ScreenSetTxt_strings;
Здесь я получаю сообщение об ошибке:
ошибка [Pe513]: значение типа «полукокса (*) [20]» не могут быть отнесены к объекта типа «символ *»
Что я делаю неправильно?
Я хотел бы использовать его как это:
printf("%s",ScrSetTxtDesc.Strings[0]);
Спасибо заранее,
Бюл.
привет, спасибо за ответ. Теперь компилируется, но строки сглаживаются до одного индекса (поэтому мне нужно получить доступ к строкам с индексом * 20 ... Могу ли я сделать это лучше - чтобы я мог сохранить исходный массив строк? – user2152780
@ user2152780 использовать подход № 1, указатель на массив. –