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

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


4
Чому вирівнювання структури залежить від того, тип поля є примітивним або визначеним користувачем?
У Noda Time v2 ми переходимо до наносекундної роздільної здатності. Це означає, що ми більше не можемо використовувати 8-байтове ціле число для представлення всього діапазону часу, який нас цікавить. Це спонукало мене дослідити використання пам'яті (багатьох) структур Noda Time, що в свою чергу призвело мене виявити незначну диваку у рішенні …

3
Ініціалізація структури до 0
Якщо у мене така структура: typedef struct { unsigned char c1; unsigned char c2; } myStruct; Який найпростіший спосіб ініціалізувати цю структуру до 0? Чи вистачить наступного? myStruct _m1 = {0}; або Чи потрібно мені явно попросити кожного члена до 0? myStruct _m2 = {0,0};
116 c  struct  initialization 

8
Структури в JavaScript
Раніше, коли мені потрібно було зберігати ряд пов’язаних змінних, я створив би клас. function Item(id, speaker, country) { this.id = id; this.speaker = spkr; this.country = country; } var myItems = [ new Item(1, 'john', 'au'), new Item(2, 'mary', 'us') ]; Але мені цікаво, чи це хороша практика. Чи є …
112 javascript  struct 

7
Як перевірити наявність порожньої структури?
Я визначаю структуру ... type Session struct { playerId string beehive string timestamp time.Time } Іноді я призначаю йому порожній сеанс (тому що нуль неможливий) session = Session{}; Потім я хочу перевірити, чи він порожній: if session == Session{} { // do stuff... } Очевидно, це не працює. Як це …
110 struct  go 

9
розмір одного члена структури в С
Я намагаюся оголосити структуру, яка залежить від іншої структури. Я хочу використовувати, sizeofщоб бути безпечним / педантичним. typedef struct _parent { float calc ; char text[255] ; int used ; } parent_t ; Тепер я хочу оголосити структуру, child_tяка має той самий розмір, що і parent_t.text. Як я можу це …
109 c  struct  sizeof 

6
C / C ++ Структура проти класу
Після закінчення мого класу C ++ мені здалося, що структури / класи практично однакові, за винятком кількох незначних відмінностей. Я ніколи раніше не програмував на C; але я знаю, що це має структури. Чи можна успадкувати інші структури та встановити модифікатор public / private? Якщо ви можете це зробити на …
108 c++  class  struct 

2
Перейдіть на поля інтерфейсу
Мені знайоме те, що в Go, інтерфейси визначають функціональність, а не дані. Ви вкладаєте набір методів в інтерфейс, але ви не можете вказати поля, які були б необхідні для будь-якого, що реалізує цей інтерфейс. Наприклад: // Interface type Giver interface { Give() int64 } // One implementation type FiveGiver struct …
105 struct  interface  go 

10
Чи законно індексувати в структуру?
Незалежно від того, наскільки "поганий" код, і якщо припустити, що вирівнювання тощо не є проблемою компілятора / платформи, це невизначена чи порушена поведінка? Якщо у мене така структура: struct data { int a, b, c; }; struct data thing; Є чи це законним для доступу a, bа cтакож (&thing.a)[0], (&thing.a)[1]і …
104 c++  c  struct 

2
Як зробити буквальний * int64 в Go?
У мене є тип struct із *int64полем. type SomeType struct { SomeField *int64 } У якийсь момент у своєму коді я хочу оголосити це буквальним (скажімо, коли я знаю, що вказане значення має бути 0, або вказуючи на 0, ви розумієте, що я маю на увазі) instance := SomeType{ SomeField: …
103 pointers  go  struct  literals 

6
Чи мають визначення структури входити у файл .h чи .c?
Я бачив як повні визначення structs в заголовках, так і лише декларації - чи є якась перевага одного методу над іншим? Якщо це має значення, я, як правило, набираю такі структури, як у .h typedef struct s s_t; Редагувати Щоб було зрозуміло, параметри - це декларація у файлі заголовка та …
102 c  header  struct 

7
Як створити масив структур у C?
Я намагаюся створити безліч структур, де кожна структура представляє небесне тіло. У мене не так багато досвіду зі структурами, саме тому я вирішив спробувати використовувати їх замість цілої маси масивів. Однак я продовжую натрапляти на численні різні помилки. Я намагався реалізувати прийоми, які я бачив у різних потоках та на …
100 c  arrays  struct 

6
Як використовувати SCNetworkReachability в Swift
Я намагаюся перетворити цей фрагмент коду в Swift. Я борюся над тим, щоб зійти з землі через деякі труднощі. - (BOOL) connectedToNetwork { // Create zero addy struct sockaddr_in zeroAddress; bzero(&zeroAddress, sizeof(zeroAddress)); zeroAddress.sin_len = sizeof(zeroAddress); zeroAddress.sin_family = AF_INET; // Recover reachability flags SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress); SCNetworkReachabilityFlags …
99 ios  c  struct  swift  reachability 

1
Яка мета цього [1] в кінці декларації struct?
Я переглядав файли заголовків мого мікроконтролера MSP430 і натрапив на це в <setjmp.h>: /* r3 does not have to be saved */ typedef struct { uint32_t __j_pc; /* return address */ uint32_t __j_sp; /* r1 stack pointer */ uint32_t __j_sr; /* r2 status register */ uint32_t __j_r4; uint32_t __j_r5; uint32_t …

7
Стрімка і мутуюча структура
Щось я не зовсім розумію, коли мова заходить про мутацію типів значень у Swift. Як зазначено в iBook "Мова швидкого програмування" iBook: За замовчуванням властивості типу значення не можуть бути змінені в межах його методів екземпляра. Тому, щоб зробити це можливим, ми можемо оголосити методи з mutatingключовим словом всередині structs …

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