Описание тега flexible-array-member
Гибкие элементы массива - это функция C, представленная в C99, посредством которой можно объявить последний элемент массивом неопределенного размера.
2
ответа
Объявление неструктурированного массива в структуре
Почему C позволяет это: typedef struct s { int arr []; } s; где массив arr размер не указан?
26 ноя '13 в 15:19
2
ответа
Нарушение доступа к записи в динамическом массиве C++
Это беспокоило меня почти 2 дня. В моем определении класса есть двумерный динамический массив: class Raster { public: int pixels[][4]; void drawTriangle(Vector2f & V1, Vector2f & V2, Vector2f & V3, PixelColor & colorA, PixelColor &am…
02 фев '18 в 04:16
7
ответов
Использование членов гибкого массива в C плохая практика?
Я недавно прочитал, что использование гибких элементов массива в C было плохой практикой разработки программного обеспечения. Однако это утверждение не было подкреплено никакими аргументами. Это признанный факт? ( Гибкие члены массива - это функция …
29 окт '08 в 14:21
1
ответ
Член гибкого массива во вложенной структуре
Это допустимый код C, чтобы иметь гибкие члены массива внутри вложенных структур? Так гарантированно ли мой пример кода ниже для нормальной работы компилятора? #include <stdio.h> #include <stdlib.h> struct d { char c; int ns[]; }; struct…
30 мар '15 в 19:39
0
ответов
Как я могу скомпилировать QMap без элемента гибкого массива в inotify_event, вызывающего ошибку сборки?
Я собираю Qt 4.6.4 из исходного кода для проекта. Я на Fedora 27 с выпуском ядра 4.14.6. Когда я пытаюсь бежать makeЯ получаю следующие ошибки в QMap: In file included from /usr/include/features.h:423:0, from /usr/include/bits/libc-header-start.h:33…
15 мар '18 в 18:36
3
ответа
Каковы реальные преимущества гибкого члена массива?
После прочтения некоторых сообщений, связанных с членом гибкого массива, я все еще не до конца понимаю, зачем нам нужна такая функция. Возможный дубликат: Гибкие члены массива в C - плохо? Является ли это гибким элементом массива в C? (Вини меня, ес…
01 дек '13 в 08:24
4
ответа
Структура, которая содержит массив массивов символов
Я пытаюсь определить экземпляр структуры, и у меня возникли особые проблемы с установкой этой переменной. Это массив массивов символов. Вот моя структура в моем заголовочном файле... struct widget_t { char *name; uint8_t numberOfNicknames; char *nic…
16 янв '19 в 07:58
1
ответ
Размер структуры с гибким членом массива
Дано struct Foo { uint32_t a; uint32_t b[]; }; Что такое sizeof(Foo)? Это определяемое реализацией или неопределенное поведение? Отличается ли ответ для C против C++?
19 июл '17 в 14:43
3
ответа
Добавление элементов в члены Flexible Array
Я прочитал и посмотрел на пример гибких элементов массива, но я не совсем уверен, как добавить и прочитать элементы этого массива переменной длины. typedef struct School{ char *name; char *courses[]; //Flexible Array Member }School; 1) Может кто-ниб…
24 янв '16 в 00:27
2
ответа
Действительно ли нужны члены гибкого массива?
Структура с гибким членом массива, по-видимому, не предназначена для объявления, а скорее используется вместе с указателем на эту структуру. При объявлении члена гибкого массива должен быть хотя бы один другой член, и член гибкого массива должен быт…
01 авг '13 в 18:25
1
ответ
Как разделить и использовать кучную память, выделенную в массовом порядке с помощью Rust?
В последнее время я много читал о Rust, но все еще только начинаю окисляться. Мой мозг сохраняет большинство своих рефлексов C/C++, так что извините, если этот вопрос не актуален из-за того, как все происходит в Rust. Можно ли вообще (желательно?) В…
18 дек '14 в 11:02
5
ответов
Массив нулевой длины
Я работаю над рефакторингом какого-то старого кода и нашел несколько структур, содержащих массивы нулевой длины (ниже). Предупреждения подавлены прагмой, конечно, но я не смог создать "новые" структуры, содержащие такие структуры (ошибка 2233). Масс…
17 ноя '08 в 06:54
2
ответа
Выделите память для гибкого массива в структуре
Я пытаюсь выделить память для структуры, используя flexarray. Я получил это таким образом, и я должен реализовать это следующим образом. Структура выглядит так: struct _XPM { unsigned int width; unsigned int height; unsigned char cpp; unsigned int n…
26 фев '14 в 22:13
2
ответа
Использование самой структуры в определении структуры в C++
Я хочу реализовать простую структуру дерева в C++, например: struct node{ .... node* parent; node[]* children; .... }; но компилятор сообщил об ошибке (как CLang++, так и G++) error: expected unqualified-id before '[' token node[]* child; ^ error: e…
15 апр '14 в 06:07
1
ответ
Ошибка: недопустимое использование члена гибкого массива
Я не знаю, почему этот код дает эту ошибку. Что я должен делать? Ошибка заключается в следующем: Неправильное использование члена гибкого массива на этой линии: new_buffer->array_msg =array; вот если больший раздел кода: typedef struct buffer { i…
27 ноя '13 в 10:13
1
ответ
Портативная альтернатива для упакованных структур с гибким элементом массива
Предположим, мы писали сетевое приложение на C++ с использованием сокетов UDP. Нам нужно было передать небольшой пакет данных, поэтому мы использовали такую структуру, чтобы убедиться, что порядок байтов является сетевым: struct [[gnu::packed]] da…
18 май '17 в 14:20
2
ответа
Следует ли использовать макросы вместо членов гибкого массива?
Давайте предположим следующее: Я хотел бы создать структуру для пакетов UDP. Каждый кадр обычно состоит из заголовка Ethernet, заголовка IP, заголовка UDP и необязательной полезной нагрузки, за которой следует, наконец, FCS (последовательность контр…
14 дек '18 в 19:59
2
ответа
Objective-C EXEC_BAD_ACCESS при использовании массивов гибкой длины
Я провел некоторое тестирование поведения, которое обнаружил, и мне было интересно, может ли кто-нибудь помочь мне понять, что происходит. У меня есть структура под названием myStructэто выглядит так: typedef struct { int size; float floats[]; } myS…
15 фев '11 в 17:30
2
ответа
Выделение непрерывной памяти для размещения нескольких структур с гибкими элементами массива
Рассмотрим структуру, содержащую гибкий член массива, например: typedef struct { size_t len; char data[]; } Foo; У меня есть неизвестное количество Foos, каждый из которых имеет неизвестный размер, однако я могу быть уверен, что все мои Foos вместе …
11 фев '19 в 00:57
2
ответа
Использование гибкого элемента массива с mmap
У меня проблемы с доступом к глобальному указателю структуры, который я инициализирую с помощью mmap. Попытка получить доступ к членам структуры в функциях вне той, которая объявлена в throw segfaults. структура: typedef struct foo { uint32_t size…
29 апр '15 в 07:41