, так что у меня есть этот код, а реализация stack_pu sh принимает адрес, поэтому всякий раз, когда я изменяю значение cnt, все остальное тоже меняется, как мне предотвратить это? я хочу, чтобы это было x = 5, затем x = 2, я не могу изменить свою функцию stack_pu sh, так как это непрозрачная структура
int main(void){
struct stack *a = stack_create(10*4);
int cnt = 10;
int i=cnt;
while (cnt != 1){
cnt = i/2;
stack_push(a,&cnt);
i = cnt;
}
int *x = stack_pop(a);
x = stack_pop(a);
stack_destroy(a);
}