Запитання з тегом «struct»

Ключове слово в різних мовах програмування, синтаксис якого подібний або похідний від C (C ++, C #, Swift, Go, Rust тощо). Використовуйте специфічний тег мови програмування для тегування питань, пов’язаних із використанням `структура`, оскільки синтаксис та семантика можуть залежати від мови. Ключове слово визначає або оголошує тип даних, що складається з інших типів даних. У кожного члена структури є своя область пам’яті (на відміну від «союзу», члени якої поділяють одну область пам’яті).

3
Структурувати макет пам'яті в C
У мене фон C #. Я дуже новачок у мові низького рівня, як C. У C # structпам'ять розміщена компілятором за замовчуванням. Компілятор може переупорядковувати поля даних або неявно розміщувати додаткові біти між полями. Отже, мені довелося вказати якийсь спеціальний атрибут, щоб замінити цю поведінку для точного розміщення. AFAIK, C …

12
Чи безпечно повертати структуру на C або C ++?
Я розумію, що цього робити не слід, але я вважаю, що бачив приклади, що роблять щось подібне (код примітки не обов'язково синтаксично правильний, але ідея є) typedef struct{ int a,b; }mystruct; А далі ось функція mystruct func(int c, int d){ mystruct retval; retval.a = c; retval.b = d; return retval; …

16
значення за замовчуванням для елемента структури в C
Чи можна встановити значення за замовчуванням для якогось елемента структури? Я спробував наступне, але це призведе до синтаксичної помилки: typedef struct { int flag = 3; } MyStruct; Помилки: $ gcc -o testIt test.c test.c:7: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token test.c: In function ‘main’: …
84 c  struct 

14
Як перетворити структуру на байтовий масив у C #?
Як перетворити структуру на байтовий масив у C #? Я визначив таку структуру: 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 

7
Що означає "прохання про членство" ******* "у чомусь, що не є структурою чи об'єднанням"?
Чи є просте пояснення того, що означає ця помилка? request for member '*******' in something not a structure or union Я стикався з цим кілька разів за час, коли вивчав C, але я не маю уявлення про те, що це означає.
83 c  struct  unions 

6
Правильний спосіб ініціалізації структур C ++
Наш код включає структуру POD (Plain Old Datastructure) (це основна структура c ++, яка містить інші структури та змінні POD, які потрібно ініціалізувати на початку). Виходячи з того, що я прочитав , здається, що: myStruct = (MyStruct*)calloc(1, sizeof(MyStruct)); повинен ініціалізувати всі значення до нуля, як це робить: myStruct = new …

4
У чому особливість конструкцій?
Я знаю, що в C ми не можемо повернути масив із функції, а вказівник на масив. Але я хочу знати, в чому особливістьstructs що робить їх повернутими за допомогою функцій, хоча вони можуть містити масиви. Чому structобертання робить наступну програму дійсною? #include <stdio.h> struct data { char buf[256]; }; struct …

5
Швидкі константи: Struct або Enum
Я не впевнений, які з обох краще визначити константами. Структура або перелік. Структура буде скопійована кожного разу, коли я її використовую чи ні? На static letмою думку, коли я думаю про структуру з константами, немає сенсу, що вона буде постійно копіюватися. Але якщо це не буде скопійовано, то це не …


8
memset () або ініціалізація значення для обнулення структури?
У програмуванні API Win32 типово використовувати C structs з декількома полями. Зазвичай лише пара з них мають значущі значення, а всі інші повинні бути обнулені. Цього можна досягти одним із двох способів: STRUCT theStruct; memset( &theStruct, 0, sizeof( STRUCT ) ); або STRUCT theStruct = {}; Другий варіант виглядає чистішим …

5
Чи має значення порядок членів у структурі?
Я виявив особливу поведінку в C. Розглянемо наведений нижче код: struct s { int a; }; struct z { int a; struct s b[]; }; int main(void) { return 0; } Він компілюється просто чудово. Потім змініть порядок членів struct zтаким чином struct z { struct s b[]; int a; …
77 c  struct 

5
Вектор ініціалізації структур
Я хочу знати, як я можу додати значення до мого вектора структур за допомогою push_backметоду struct subject { string name; int marks; int credits; }; vector<subject> sub; Тож як тепер я можу до нього додавати елементи? У мене є функція, яка ініціалізує ім'я рядка (ім'я теми до нього) void setName(string …
76 c++  vector  struct  push-back 


4
Яка потреба порожніх дужок '{}' в кінці масиву структур?
Я потрапив на якийсь код c у ядрі Linux: 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 = …

1
Яка семантика об'єктів, що перекриваються в С?
Розглянемо таку структуру: struct s { int a, b; }; Зазвичай 1 , ця структура матиме розмір 8 та вирівнювання 4. Що робити, якщо ми створимо два struct sоб'єкти (точніше, запишемо у виділене сховище два такі об’єкти), причому другий об’єкт перекриє перший? char *storage = malloc(3 * sizeof(struct s)); struct …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.