ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июля
350688 Топик полностью
VAI (31.08.2012 13:45, просмотров: 120) ответил rezident на Вопрос по ANSI C. Может ли функция возвращать значение, отличающееся от базовых типов, например, значение типа структуры? Или эта фича для C++? С ходу ответ на этот вопрос в стандарте C99 я что-то не могу найти.
ХЗ что в стандартах, но в ИАРе 3.30 для MSP я возвращал структуры.  // --- Типы данных ---------------------------------------------------------------------------------------- ** typedef struct { int err; // код ошибки WORD ot_kogo; // от кого информация WORD skolko; // размер в байтах } D_IN_RET; typedef struct // структура, возвращаемая run_command() { D_IN_RET d_ret; // код возврата от data_in или data_out short command; // выполненая команда } RUN_CMD_RET; D_IN_RET data_in( BYTE *DataBuf, WORD max_buf_len, short timeout_sinh ); // пример RUN_CMD_RET run_command( void ) { RUN_CMD_RET r = {{ 0, 0, 0 }, CMD_BUG_M }; ..... if (( r.d_ret = data_in( (BYTE *)&array, sizeof( array ), TIMEOUT_SINH )).err == IO_OKEY_M && r.d_ret.skolko >= sizeof( short ) && flag.m_prtcl == ON ) { .... } return( r ); }