Функция как член структуры - C (СИ) (69874)
Формулировка задачи:
Здравствуйте! Столкнулся с проблемой: не могу объявить функцию как член структуры. Компилятор ошибок не выдаёт, но при запуске программа крашится. Подскажите, в чём ошибка (код ниже).
#include <stdio.h>
#include <stdlib.h>
struct base
{
void (*enter)(void);
};
void enter(void)
{
int x;
scanf("%d", &x);
}
int main()
{
struct base a;
a.enter();
return 0;
}Решение задачи: «Функция как член структуры»
textual
Листинг программы
a.enter = enter;
Объяснение кода листинга программы
- В данном коде происходит объявление и инициализация переменной
aтипа struct с полямиenterиsome_value. - Значение поля
enterустанавливается равным функцииenter. - Значение поля
some_valueне указывается и остается неопределенным.