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

问题描述:

s.top = s.base + s.stacksize;之前是指针,到最后是怎么完成相加的?
typedef struct sqstack
{
int *base;
int *top;
int stacksize;
}sqstack;
sqstack s;
之前是指针,到最后是怎么完成相加的?
1个回答 分类:综合 2014-10-23

问题解答:

我来补答
指针是可以参与加减运算的,最简单的例子就是*p++.
一个指针(int *p)加上一个整数n,表示从p指向的地址向后移动n*sizeof(int)个字节,得到的新地址.
s.base相当于上述的int *p,s.stacksize相当于整数n.s.top即得到的新地址.
s.base是栈底指针,s.stacksize是栈长,s.top是栈顶指针.
 
 
展开全文阅读
剩余:2000
上一页:合外力做功,