У меня есть небольшая программа, которая при компиляции кидает мне следующие ошибкиУказатель на структуру массива
ошибка # 2168: операнды «+» имеют несовместимые типы «повестки дня структура» и «INT».
ошибка # 2113: левый операнд '.' имеет несовместимый тип 'int'.
ошибка # 2088: требуется Lvalue.
Это код, который я сделал
#include <stdio.h>
struct agenda{
int order, cellular;
char name[30], last_name[30], street[30], city[30], mail[50];
}contact[10];
int main(void)
{
struct agenda *ptrcontact;
ptrcontact = &contact[0];
(*ptrcontact+3).order = 3;
printf("\n\n %d", (*ptrcontact).order);
return 0;
}
, потому что он бросает эти ошибки и как их исправить?
Что такое '* ptrcontact'? Его 'контакт [0]'. Вы должны попробовать что-то вроде: '(ptrcontact + 3) -> order = 3;' – DOOM
(* ptrcontact + 3) дает вам любые точки ptrcontact в (повестка дня структуры) и добавляет к ней 3 (int). * имеет более высокий приоритет, чем +, поэтому, чтобы получить третий индекс, вам нужно либо написать: * (ptrcontact + 3), либо ptrcontact [3]. – Beko