Перво-наперво:
Вы используете C, и, как вы определили структуру, вам нужно объявить указатель следующим образом:
struct A *example;
Далее,malloc возвращает указатель, поэтому вам нужно привести к указателю (а не к структуре):
(struct A *)malloc(sizeof(struct A));
Во-вторых, я не уверен, почему, но эй: - вы пытаетесь динамически выделитьInt в структуре.Как я уже говорил ранее, malloc возвращает указатель, поэтому в вашей структуре вам нужен указатель типа int, например "int *integer;
" - вы пытаетесь выделить динамическую строку, однако вы не делаете это правильно, вот что ядумаю, что вы хотите
example->dynamicString = (char *)malloc(sizeof(char) * 10);
Где 10 - размер вашей динамической строки.
Редактировать:
вы также можете заполнить целое число в вашей структуре статически или динамически, ноЯ думаю, что вы намеревались использовать статический подход:
example->integer = 123;
Динамический подход был бы (при условии, что в вашей структуре int *integer
):
example->integer = (int *)malloc(sizeof(int));
*(example->integer) = 123;