Я думал, что у меня было несколько хорошее понимание указателей, но у меня проблемы с моим кодом. Он продолжает рушиться.Проблема с указателями C
Всякий раз, когда я пытаюсь получить доступ к стеку и передаю его содержимое на b1, моя программа сработает.
int base(int l, int base, int *stack[2000])
{
int b1; //find base L levels down
b1 = base;
while (l > 0)
{
b1 = *stack[b1 + 1];
l--;
}
return b1;
}
EDIT: программа представляет собой назначение виртуальной машины, использующее архитектуру стека. То, что я передаю, это текущая запись активации базы и лексикографический уровень, к которому я пытаюсь получить доступ. Проще говоря, они целые. Я получаю доступ к своему стеку через указатель и возвращаю базу уровня активации, на которой я должен быть, но я не совсем уверен, правильно ли использую указатели.
Может быть полезно включить описание того, что должен делать код, и, может быть, какие параметры вы передадите ему, когда он сработает. – jayjay
@jayjay обновлено – RiGid
Вы получаете сообщение об ошибке? –