Показать сообщение отдельно

  #2  
Старый 31.01.2009, 14:48
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

все данные созданные внутри процедуры распологаются в стеке и по этому после выполнения данной процедуры могут затереться и вообще всё что угодно может стать потом с ними. По этому лучше структуру создавай отдельно, а функции передавай указатель на неё.

Примерно так:
Код:
typedef struct _PARAMS {
 ULONG p1;
 ULONG p2;
 ULONG p3;
} PARAMS,* PPARAMS;


VOID proc1(PPARAMS p)
{
// работаешь как с указателем
p->p1=1;
p->p2=2;
p->p3=3;
}

VOID main(VOID)
{
 PARAMS param;

 proc1(&param); 
 z=param.p1+param.p2+param.p3;
}

Последний раз редактировалось slesh; 31.01.2009 в 14:54..
 
Ответить с цитированием