作业帮 > 综合 > 作业

s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 09:48:35
s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?
typedef struct sqstack
{
int *base;
int *top;
int stacksize;
}sqstack;
sqstack s;
之前是指针,到最后是怎么完成相加的?
s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?
指针是可以参与加减运算的,最简单的例子就是*p++.
一个指针(int *p)加上一个整数n,表示从p指向的地址向后移动n*sizeof(int)个字节,得到的新地址.
s.base相当于上述的int *p,s.stacksize相当于整数n.s.top即得到的新地址.
s.base是栈底指针,s.stacksize是栈长,s.top是栈顶指针.