Estoy intentando crear una pila en C por diversión, y se me ocurrió la idea de usar struct para representar la pila. Luego agrego punteros a la estructura para las operaciones push() y pop()."este" puntero en C (no en C++)
Hasta ahora todo parece bueno, pero, para la implementación de las funciones push() y pop(), necesito referirme a * esto de alguna manera. ¿Cómo puede eso (¿puede?) Hacerse?
Esta es mi estructura
struct Stack {
int *data;
int current_size;
int max_size;
int (*push)(int);
int (*pop)();
};
Y como ejemplo aquí es empujar
int push(int val) {
if(current_size == max_size -1)
return 0;
data[current_size] = val;
current_size++;
return 1;
}
Como se puede imaginar, el compilador no tiene idea de lo que current_size
es decir, como sería de esperar algo así como stack->current_size
.
¿Es posible superar esto de alguna manera?
¿cuál es el punto de función de los punteros en su stack struct? – Nyan
Para tratar de obtener una respuesta, si es posible llamar a una pila de este tipo como esta: 'stack-> push (10);'. Ahora, si la respuesta no está aquí, puedo estar seguro de que es imposible. – foo