Я не знаю концепции указателя, поэтому спрашиваю.
Я не знаю, почему указатели используются по-разному для функций.
int is_full(StackType *s)
{
return (s->top == (MAX_STACK_SIZE -1));
}
void push(StackType *s, element item)
{
if (is_full(s)) {
fprintf(stderr, "error\n");
return;
}
else {
s->data[++(s->top)] = item;
}
}
int main()
{
StackType s;
init_stack(&s);
push(&s, 1);
push(&s, 2);
push(&s, 3);
printf("%d\n", pop(&s));
printf("%d\n", pop(&s));
printf("%d\n", pop(&s));
}
В первой функции я установил is_full(StackType *s)
Во второй функции я установил push(StackType*s, element item)
Второй вызов функции if (is_full(s))
Основные звонки push(&s, 1)
Это та же функция, но почему она отличается от вызова?