Permalänk

Fråga ang pekare i C

Hej,

Jag hittade detta i ett program och blev osäker på innebörden.

Vad är skillnaden mellan:

return &(((struct sockaddr_in*)sa)->sin_addr);

och

return &(struct sockaddr_in *)(sa->sin_addr);

?

Visa signatur

» Well, tough titties...

Permalänk
Medlem

Det första castar sa till en struct sockaddr_in* och tar sedan adressen av fältet sin_addr.

Den andra avrefererar först sa som den tyå den redan är och tar fram fältet sin_addr i den. Castar sedan till struct sockaddr_in* och tar adressen av den.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.