Nella questione Why should we typedef a struct so often in C?, rilassarsi risposto che:Come posso nascondere la dichiarazione di una struttura in C?
In quest'ultimo caso, non è possibile tornare il Point di valore, dal momento che la sua dichiarazione è nascosta da parte degli utenti del file di intestazione. Questa è una tecnica ampiamente utilizzata in GTK +, ad esempio.
Come si nasconde la dichiarazione? Perché non posso restituire il punteggio in base al valore?
ADD:
ho capito il motivo per cui non può restituire le struct per valore, ma, è ancora difficile da capire perché non posso deferenza questo punto della mia funzione. Ad esempio, se la mia struttura ha un membro chiamato y, perché non posso farlo?
pointer_to_struct->y = some_value;
Perché dovrei usare i metodi per farlo? (Come Gtk +)
Grazie ragazzi, e scusa ancora per il mio cattivo inglese.
Dovrai problema di allineamento, pubblico 'struct Point' allineamento nativo il requisito è basato sul tipo di dati uint8_t, ad es. 1 byte, mentre il requisito di allineamento nativo 'struct Point' privato è basato su' int', probabilmente 4 byte. Ho cercato di spiegare il problema nella risposta http://stackoverflow.com/a/17619016/611560 Cordiali saluti. – ydroneaud