Re: Возврат структуры из функции на СИ
От: Аноним  
Дата: 11.08.07 12:52
Оценка: 6 (2)
Здравствуйте, AlexBosen, Вы писали:

AB>Подскажите пожалуйста новичку, как на СИ возвратить структуру из функции


AB>Имеем структуру:


AB>
AB>struct myStruct
AB>{
AB>     UINT16 Param1;
AB>     UINT16 Param2;
AB>};
AB>


AB>Имеем функцию:


AB>
AB>VOID??? myFunc()
AB>{
AB>     struct myStruct *myStruct;

AB>     myStruct->Param1 = 10;
AB>     myStruct->Param2 = 20;

Так нельзя. Для структуры надо выделить память
1. статически
struct myStruct s;

2. либо динамически
struct myStruct* ps = (myStruct*)malloc(sizeof(myStruct));

Во втором случае не забудь освободить память (free(...)).

     
AB>     // Как сдесь написать return что бы вернуть структуру myStruct ????? Подскажите новичку пожалуйста

AB>     return ???????????;
AB>};
AB>

1.
struct myStruct myFunc()
{
...
}

2.
struct myStruct* myFunc()
{
...
}


AB>По форуму искал но так и ничего толком не понял, можно ожалуйста наглядный пример, большое спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.