У меня есть вложенная структура этого типа -
typedef struct {
head HEAD;
tail TAIL;
start START;
end END;
}NODE;
У меня есть указатель на эту вложенную структуру -
NODE* settings = malloc(sizeof(NODE));
, и я передаю этот указатель на вложенную структуру функции,В функции мне нужно получить доступ к отдельным структурам в основной структуре, чтобы добавить байты в структуре.Это прототип функции -
int checksumVerify( NODE* settings)
{
unsigned int i;
unsigned char checksum = 0;
//I need to access the size of individual structs from the pointer to main struct and then add all the bytes in the inner struct together.
for (i = 0; i < sizeof(*settings)->HEAD; i++)
{
checksum += (char)(settings)->HEAD;
settings++;
}
//Like wise I need to do it for the second struct as well
for (i = 0; i < sizeof(*settings)->TAIL; i++)
{
checksum += (char)(settings)->TAIL);
settings++;
}
return ((int)((checksum == 0) ? 1 : 0));
}
Я не знаю, знаю синтаксис для доступа к размеру отдельных структур, и доступ к каждой записи в каждой отдельной структуре здесь неправильный.Каков правильный синтаксис для обоих?