Вопросы с тегом «struct»

86
C - функция внутри структуры

Я пытаюсь создать функцию внутри структуры, пока у меня есть этот код: typedef struct client_t client_t, *pno; struct client_t { pid_t pid; char password[TAM_MAX]; // -> 50 chars pno next; pno AddClient() { /* code */ } }; int main() { client_t client; //code .. client.AddClient(); } Ошибка :...

85
ARC запрещает объекты Objective-C в структурах или объединениях, несмотря на маркировку файла -fno-objc-arc

ARC запрещает объекты Objective-C в структурах или объединениях, несмотря на то, что помечен файл -fno-objc-arc? Почему это так? У меня было предположение, что если вы отметите его -fno-objc-arc, у вас не будет этого ограничения....

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

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

84
значение по умолчанию для члена структуры в C

Можно ли установить значения по умолчанию для некоторого члена структуры? Я пробовал следующее, но это вызвало синтаксическую ошибку: typedef struct { int flag = 3; } MyStruct; Ошибки: $ gcc -o testIt test.c test.c:7: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token test.c:...

82
Правильный способ инициализации структур C ++

Наш код включает структуру POD (Plain Old Datastructure) (это базовая структура C ++, в которой есть другие структуры и переменные POD, которые необходимо инициализировать вначале). Судя по тому, что я читал , кажется, что: myStruct = (MyStruct*)calloc(1, sizeof(MyStruct)); должен инициализировать...

81
Что особенного в структурах?

Я знаю, что в C мы не можем вернуть массив из функции, а только указатель на массив. Но я хочу знать, в чем особенность, structsкоторая делает их возвращаемыми функциями, даже если они могут содержать массивы. Почему structупаковка делает действующей следующую программу? #include <stdio.h>...

25
Какова семантика перекрывающихся объектов в C?

Рассмотрим следующую структуру: struct s { int a, b; }; Обычно 1 , эта структура будет иметь размер 8 и выравнивание 4. Что если мы создадим два struct sобъекта (точнее, мы запишем в выделенное хранилище два таких объекта), причем второй объект будет перекрывать первый? char *storage = malloc(3 *...

16
[[no_unique_address]] и два значения элемента одного типа

Я играю с [[no_unique_address]]в c++20. В примере на cppreference у нас есть пустой тип Emptyи типZ struct Empty {}; // empty class struct Z { char c; [[no_unique_address]] Empty e1, e2; }; Видимо, размер Zдолжен быть хотя бы 2потому, что типы e1и e2одинаковы. Тем не менее, я действительно хочу...

13
Как сравнить общие структуры в C ++?

Я хочу сравнить структуры в общем виде, и я сделал что-то вроде этого (я не могу поделиться фактическим источником, поэтому попросите более подробную информацию, если это необходимо): template<typename Data> bool structCmp(Data data1, Data data2) { void* dataStart1 =...