В следующем семестре у меня курс «Алгоритмы», поэтому я погрузился в Си с целью заранее подготовить несколько структур данных.
Когда я узнал об указателях функций, я обнаружил, чтоможет хранить их в structs
и создавать объектно-ориентированное использование для моей структуры данных.Вот пример:
#include <stdio.h>
void insert(char * object)
{
printf("Adding %s to the data structure\n", object);
}
typedef struct data_structure {
char * obj;
void (*insert)(char * object);
} data_structure;
int main()
{
data_structure d;
d.insert = insert;
d.insert("bacon");
return 0;
}
Но действительно ли этот вид процедуры действительно полезен в области изучения структуры данных и алгоритмов на C?Или это просто занимает память на структуре данных?
Я обнаружил, что другие посты говорят о указателях функций, но ни одна из них не посвящена такому подходу.Я думаю, что это может быть полезно для группы любопытных студентов там:)