struct- все статьи тега


Как динамически создавать и читать структуры в C?

Как я могу сделать что-то подобное (просто пример): any_struct *my_struct = create_struct(); add_struct_member(my_struct, "a", int_member); add_struct_member(my_struct, "b", float_member); Чтобы я мог загрузить и использовать экземпляр struct "извне" (по адресу addressOfMyStruct) с данной структурой здесь? any_struct_instance *instance = instance(my_struct, addressOfMyStruct); int a = instance_get_member(instance, "a"); float b = instance_get_member(instance, "b"); Я также хотел бы иметь ...

Являются ли структуры C# потокобезопасными?

Является ли структура C# потокобезопасной? Например, если есть: struct Data { int _number; public int Number { get { return _number; } set { _number = value; } } public Data(int number) { _number = number; } } В другом типе: class DadData { public Data TheData { get; set; } } - это свойство данных, потокобезопасным? ...

экспортируемые поля в неэкспортируется struct в golang

Пример: type myType struct { foo []float64 Name string } myType не экспортируется, но поле Name в нем экспортируется. Есть ли в этом смысл это делать? Это считается плохой практикой? У меня есть что-то вроде этого, и он прекрасно компилируется. И я могу получить доступ к полю Name, если создам экспортированный массив myType var MyArray []myType = {... some initialization } fmt.Println(MyArray[0].Name) // Name is visible and it compiles!! ...

Как лучше всего записать структуру в файл?

У меня есть две структуры: struct pcap_hdr_s { UInt32 magic_number; UInt16 version_major; UInt16 version_minor; int32_t thiszone; UInt32 sigfigs; UInt32 snaplen; UInt32 network; }; //packet header struct pcaprec_hdr_s { UInt32 ts_sec; UInt32 ts_usec; UInt32 incl_len; UInt32 orig_len; }; Которые инициализируются следующим образом (например): let pcapHeader : pcap_hdr_s = pcap_hdr_s(magic_number: 0xa1b2c3d4, ...

Как инициализировать структуру до null?

У меня есть структура, которая содержит две другие структуры того же типа, и я хочу инициализировать ее, чтобы иметь оба NULL для запуска. Как мне это сделать? Я пробовал ниже, но получаю предупреждения компилятора с gcc. #include <stdio.h> typedef struct Segment { int microseconds; } Segment; typedef struct Pair { Segment mark; Segment space; } Pair; int main() { Pair mark_and_space = { .mark = NULL, .space = NULL }; return 0; } И предупреждения компилятора: ...

Как хранить данные в динамическом массиве структур?

У меня есть эти структуры, с помощью которых я хотел бы реализовать карту typedef struct { const char *name; int number; } Entry; typedef struct { int available; int guard; Entry *entries; } Map; И код для работы по инициализации и помещению в него элементов: Map *map_init() { Map *res = (Map *) malloc(sizeof(Map)); res->available = 4; res->guard = 0; res->entries = (Entry *) malloc(4 * sizeof(Entry)); return res; } int map_put(Map *ma ...

Когда следует использовать класс против структуры в C++?

в каких ситуациях лучше использовать struct против class в C++? ...

typedef struct vs struct definitions [дубликат]

этот вопрос уже есть ответ здесь: почему мы должны typedef структуры так часто в C? 15 ответов Я новичок в программировании на C, но мне было интересно, в чем разница между использованием typedef при определении структуры и не использованием typedef. Мне кажется, что нет никакой разницы, они сделайте то же самое. struct myStruct{ int one; int two; }; и typedef struct{ int one; int two ...

Почему sizeof для структуры не равен сумме sizeof каждого члена?

почему sizeof оператор возвращает размер больше для структуры, чем общие размеры элементов структуры? ...

Как инициализировать структуру в соответствии со стандартами языка программирования C

Я хочу инициализировать элемент структуры, разделить объявление и инициализацию. Вот что у меня есть: typedef struct MY_TYPE { boolean flag; short int value; double stuff; } MY_TYPE; void function(void) { MY_TYPE a; ... a = { true, 15, 0.123 } } это способ объявить и инициализировать локальную переменную MY_TYPE в соответствии со стандартами языка программирования C (C89, C90, C99, C11 и др.)? Или есть что-то лучше или хотя бы работает? обновление у меня появился статический эле ...

Почему мы должны так часто набирать структуру в C?

Я видел много программ, состоящих из структур, как показано ниже typedef struct { int i; char k; } elem; elem user; зачем это нужно так часто? Любая конкретная причина или применимая область? ...

Почему я не могу определить конструктор по умолчанию для структуры in.NET?

в .NET, тип значения (C# struct) не может иметь конструктор без параметров. Согласно этому сообщению это предусмотрено спецификацией CLI. Что происходит, что для каждого типа значения создается конструктор по умолчанию (компилятором?) который инициализировал все члены до нуля (или null). почему запрещено определять такой конструктор по умолчанию? одно тривиальное использование для рациональных чисел: public struct Rational { private long numerator; private long denominator; publi ...

Как печатать переменные структуры в консоли?

как я могу распечатать (в консоли) с Id,Title,Name и т. д. это struct в Golang? type Project struct { Id int64 `json:"project_id"` Title string `json:"title"` Name string `json:"name"` Data Data `json:"data"` Commits Commits `json:"commits"` } ...

Структуры как объекты в Java

это полностью против Java-способа создания структур, подобных объектам? class SomeData1 { public int x; public int y; } Я вижу класс с аксессорами и мутаторами, которые больше похожи на Java. class SomeData2 { int getX(); void setX(int x); int getY(); void setY(int y); private int x; private int y; } класс из первого примера является нотационно удобным. // a function in a class public int f(SomeData1 d) { return (3 * d.x) / d.y; } это не так удобно. ...

Когда я должен использовать Struct против OpenStruct?

В общем, каковы преимущества и недостатки использования OpenStruct по сравнению со структурой? Какой тип общих случаев использования подходит для каждого из них? ...

C / C++ Struct vs Class

после окончания моего класса C++ мне показалось, что структуры / классы практически идентичны, за исключением нескольких незначительных различий. Я никогда не программировал в C раньше; но я знаю, что у него есть структуры. В C можно ли наследовать другие структуры и установить модификатор public/private? Если вы можете сделать это в обычном C, зачем нам нужен C++? Что отличает классы от структуры? ...

Как использовать 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 ...

Безопасно ли для структур реализовывать интерфейсы?

Я, кажется, помню, что читал что-то о том, как плохо для структур реализовывать интерфейсы в CLR через C#, но я ничего не могу найти об этом. Это плохо? Есть ли непреднамеренные последствия этого? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public Bar GetBar() { return new Bar(); } } ...

Безопасно ли возвращать struct в C или C++?

Я понимаю, что это не должно быть сделано, но я думаю, что видел примеры, которые делают что-то вроде этого (код Примечания не обязательно синтаксически корректен, но идея есть) typedef struct{ int a,b; }mystruct; и тогда вот функция mystruct func(int c, int d){ mystruct retval; retval.a = c; retval.b = d; return retval; } Я понял, что мы всегда должны возвращать указатель на структуру malloc'ed, если мы хотим сделать что-то подобное, но я уверен, что видел примеры, кот ...

Инициализация / сброс структуры до нуля / null

struct x { char a[10]; char b[20]; int i; char *c; char *d[10]; }; я заполняю эту структуру, а затем использую значения. На следующей итерации, я хочу сбросить все поля 0 или null прежде чем я начну использовать его повторно. как я могу это сделать? Могу ли я использовать memset или мне придется пройти через все члены, а затем сделать это индивидуально? ...