У меня есть следующий код, который я должен преобразовать из C++ в C:Заполнение структуры в C
const MyStruct &r = pMyContext->buffer [counter];
первую очередь, я не понимаю, что здесь происходит. Я полагаю, эта строка создает новый экземпляр структуры (r) и заполняет свой адрес содержимым буфера?
Я разрабатываю драйвер устройства, компилятор Си возвращает:
error C2143: syntax error : missing ';' before '&'
Любые идеи?
EDIT:
В Мой заголовок у меня есть:
#define MAX_BUFFER_SIZE 40U
typedef struct {
int a;
int b;
}buffer_entry_t;
typedef struct _DEVICE_CONTEXT
{
buffer_entry_t m_tBuffer[MAX_BUFFER_SIZE];
}
DEVICE_CONTEXT, *PDEVICE_CONTEXT;
Благодаря
Это создает константу * reference * в 'pMyContext-> buffer [counter]'. Ссылки похожи на указатели, но более безопасны и не требуют разыменования для их использования. Вы хотите изменить этот код, чтобы вместо этого использовать указатель. – slugonamission
'const MyStruct * r = & pMyContext-> buffer [counter]; '? то я могу обратиться к структуре через '& r->'? – moonraker
@moonraker * 'r->' – emlai