скажу я получил-структуру, как это:указателя в функции от Struct не работает
typedef struct myInfo {
WORD myCount;
WORD data[0];
} myInfo;
Ну, я хотел бы использовать эту структуру (что объявить EXTERN, кстати), в другом .c исходный файл, где у меня есть функция, как это:
void dynamic_init(struct myInfo dummy){
macroPut(5, dummy.myCount, &dummy.mydata); <- doesn't work
macroPut(5, dummy.myCount, &externalInitialized.mydata); <- works
}
Таким образом, я бы динамически использовать этот dynamic_init без worring об имени STRUCT ... Но, как у мог легко увидеть в моем фрагменте кода выше, это работает только с инициализированной структурой ... но если я вызываю функцию таким образом:
dynamic_init(externalInitialized);
Это не сработает.
Другими словами, я должен сделать что-то вроде этого:
dynamic_init(externalInitialized.myCount, externalInitialized.mydata);
И у меня есть результат ожидается.
Главное mistery - это «mydata» WORD, которое все испортило. "myCount" работает, как ожидалось, если я это сделать так:
dynamic_init(externalInitialized, externalInitialized.mydata);
, а затем:
недействительным dynamic_init (структура externalInitialized манекена, WORD * dynData) {
macroPut(5, dummy.myCount, &dynData); <- works
}
Я знаю, что это глупо, но это просто показать точную неправильную часть.
Спасибо!
Показать полный код – Amit
Что такое "another_function"? –
Это определение _type_, как следует из слова 'typedef', оно не является выражением _declaration_, и вы не создаете _define_ a struct. Пожалуйста, опубликуйте [MCVE] (http://stackoverflow.com/help/mcve) и определите, что вы пробовали, хотите достичь и что вы на самом деле получаете. – Olaf