s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?typedef struct sqstack{ int *base; int *top; int stacksize;}sqstack;sqstack s;之前是指针,到最后是怎么完成相加的?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/22 00:56:20
![s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?typedef struct sqstack{ int *base; int *top; int stacksize;}sqstack;sqstack s;之前是指针,到最后是怎么完成相加的?](/uploads/image/z/12114663-15-3.jpg?t=s.top+%3D+s.base+%2B+s.stacksize%3B%E4%B9%8B%E5%89%8D%E6%98%AF%E6%8C%87%E9%92%88%2C%E5%88%B0%E6%9C%80%E5%90%8E%E6%98%AF%E6%80%8E%E4%B9%88%E5%AE%8C%E6%88%90%E7%9B%B8%E5%8A%A0%E7%9A%84%3Ftypedef+struct+sqstack%7B+int+%2Abase%3B+int+%2Atop%3B+int+stacksize%3B%7Dsqstack%3Bsqstack+s%3B%E4%B9%8B%E5%89%8D%E6%98%AF%E6%8C%87%E9%92%88%2C%E5%88%B0%E6%9C%80%E5%90%8E%E6%98%AF%E6%80%8E%E4%B9%88%E5%AE%8C%E6%88%90%E7%9B%B8%E5%8A%A0%E7%9A%84%3F)
s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?typedef struct sqstack{ int *base; int *top; int stacksize;}sqstack;sqstack s;之前是指针,到最后是怎么完成相加的?
s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?
typedef struct sqstack
{
int *base;
int *top;
int stacksize;
}sqstack;
sqstack s;
之前是指针,到最后是怎么完成相加的?
s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?typedef struct sqstack{ int *base; int *top; int stacksize;}sqstack;sqstack s;之前是指针,到最后是怎么完成相加的?
指针是可以参与加减运算的,最简单的例子就是*p++.
一个指针(int *p)加上一个整数n,表示从p指向的地址向后移动n*sizeof(int)个字节,得到的新地址.
s.base相当于上述的int *p,s.stacksize相当于整数n.s.top即得到的新地址.
s.base是栈底指针,s.stacksize是栈长,s.top是栈顶指针.