Я пытаюсь создать стек в C для удовольствия, и придумал идею использования структуры для представления стека. Затем я добавляю указатели на функции для операций push() и pop().
Пока все хорошо, кажется, но для реализации функций push() и pop() мне нужно как-то ссылаться на *. Как это можно сделать (может?)?
Это моя структура
struct Stack {
int *data;
int current_size;
int max_size;
int (*push)(int);
int (*pop)();
};
И как пример здесь нажмите
int push(int val) {
if(current_size == max_size -1)
return 0;
data[current_size] = val;
current_size++;
return 1;
}
Как вы можете себе представить, компилятор понятия не имеет, что такое current_size
, так как он ожидал бы что-то вроде stack->current_size
.
Возможно ли это как-то преодолеть?