Pytania otagowane jako struct

Słowo kluczowe w różnych językach programowania, którego składnia jest podobna do języka C lub wywodzi się z niego (C ++, C #, Swift, Go, Rust itp.). Użyj specjalnego znacznika języka programowania, aby oznaczyć pytania wymagające użycia „struct”, ponieważ składnia i semantyka mogą być zależne od języka. Słowo kluczowe definiuje lub deklaruje typ danych złożony z innych typów danych. Każdy członek struktury ma swój własny obszar pamięci (w przeciwieństwie do „związku”, którego członkowie dzielą jeden obszar pamięci).

3
Układ pamięci Struct w C
Mam tło C #. Jestem bardzo nowicjuszem w języku niskiego poziomu, takim jak C. W języku C # structpamięć jest domyślnie układana przez kompilator. Kompilator może niejawnie zmienić kolejność pól danych lub wstawić dodatkowe bity między polami. Musiałem więc określić specjalny atrybut, aby zastąpić to zachowanie dla dokładnego układu. AFAIK, …

12
Czy można bezpiecznie zwrócić strukturę w C lub C ++?
Rozumiem, że nie należy tego robić, ale wydaje mi się, że widziałem przykłady, które robią coś takiego (kod notatki niekoniecznie jest poprawny składniowo, ale pomysł istnieje) typedef struct{ int a,b; }mystruct; A oto funkcja mystruct func(int c, int d){ mystruct retval; retval.a = c; retval.b = d; return retval; } …

16
wartość domyślna dla elementu członkowskiego struktury w C
Czy można ustawić wartości domyślne dla jakiegoś elementu członkowskiego struktury? Próbowałem następujących rzeczy, ale spowodowałoby to błąd składni: typedef struct { int flag = 3; } MyStruct; Błędy: $ gcc -o testIt test.c test.c:7: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token test.c: In function ‘main’: test.c:17: …
84 c  struct 

14
Jak przekonwertować strukturę na tablicę bajtów w C #?
Jak przekonwertować strukturę na tablicę bajtów w języku C #? Zdefiniowałem taką strukturę: public struct CIFSPacket { public uint protocolIdentifier; //The value must be "0xFF+'SMB'". public byte command; public byte errorClass; public byte reserved; public ushort error; public byte flags; //Here there are 14 bytes of data which is used …
83 c#  struct 


6
Właściwy sposób na zainicjowanie struktur C ++
Nasz kod zawiera strukturę POD (Plain Old Datastructure) (jest to podstawowa struktura c ++, która zawiera inne struktury i zmienne POD, które muszą zostać zainicjowane na początku). Na podstawie tego, co przeczytałem , wydaje się, że: myStruct = (MyStruct*)calloc(1, sizeof(MyStruct)); powinien zainicjować wszystkie wartości na zero, tak jak: myStruct = …

4
Co jest specjalnego w strukturach?
Wiem, że w C nie możemy zwrócić tablicy z funkcji, ale wskaźnik do tablicy. Ale chcę wiedzieć, na czym polega szczególna cecha structstego, że są one zwracane przez funkcje, nawet jeśli mogą zawierać tablice. Dlaczego structopakowanie sprawia, że ​​następujący program jest ważny? #include <stdio.h> struct data { char buf[256]; }; …

4
Czego potrzeba pustych nawiasów klamrowych „{}” na końcu tablicy struktur?
Uderzyłem trochę kodu c w jądrze Linuksa: static struct ctl_table ip_ct_sysctl_table[] = { { .procname = "ip_conntrack_max", .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec, }, // ... { .procname = "ip_conntrack_log_invalid", .maxlen = sizeof(unsigned int), .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = &log_invalid_proto_min, .extra2 = &log_invalid_proto_max, }, …



6
Jak porównać ogólne struktury w C ++?
Chcę porównać struktury w ogólny sposób i zrobiłem coś takiego (nie mogę udostępnić faktycznego źródła, więc w razie potrzeby poproś o więcej szczegółów): template<typename Data> bool structCmp(Data data1, Data data2) { void* dataStart1 = (std::uint8_t*)&data1; void* dataStart2 = (std::uint8_t*)&data2; return memcmp(dataStart1, dataStart2, sizeof(Data)) == 0; } Działa to głównie zgodnie …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.