Dobry wieczór, mam pytanie odnośnie kodu zamieszczonego poniżej. Czy dobrze rozumiem, że począwszy od obiektu s
zawartość struktury m
jest kopiowana, bajt po bajcie, w miejsce wskazywane przez wskaźnik tp
?
typedef struct {
int a;
short s[2];
} MSG;
MSG *mp, m = {4, {1, 0}};
char *fp, *tp;
mp = (MSG *) malloc(sizeof(MSG));
for (fp = (char *)m.s, tp = (char *)mp->s; tp < (char *)(mp+1);)
*tp++ = *fp++;