"Теперь у вас есть юристы по языку.

тности, следующий код, строка под маркером, хорошо?

struct S{
    int a;
};

#include <stdlib.h>

int main(){
    struct S *p;
    p = malloc(sizeof(struct S) + 1000);
    // This line:
    *(&(p->a) + 1) = 0;
}

Люди спорилиВот, но никто не дал убедительного объяснения или ссылки.

Их аргументы находятся на несколько иной основе, но, по сути, те же

typedef struct _pack{
    int64_t c;
} pack;

int main(){
    pack *p;
    char str[9] = "aaaaaaaa"; // Input
    size_t len = offsetof(pack, c) + (strlen(str) + 1);
    p = malloc(len);
    // This line, with similar intention:
    strcpy((char*)&(p->c), str);
//                ^^^^^^^

Ответы на вопрос(3)

Ваш ответ на вопрос