Co oznacza „__atrybut __ ((spakowany, wyrównany (4))”

Jest to język C. Jest napisane, że:

typedef struct __attribute__((packed, aligned(4))) Ball {
    float2 delta;
    float2 position;
    //float3 color;
    float size;
    //int arcID;
    //float arcStr;
} Ball_t;
Ball_t *balls;

Proszę mi powiedzieć, co to znaczy i jak używać tego słowa kluczowego.

questionAnswers(3)

yourAnswerToTheQuestion