llgd.net
当前位置:首页 >> *S.top++=E和*++S.top=E一样吗? >>

*S.top++=E和*++S.top=E一样吗?

S为对象,其属性top为指针 先算 *S.top=e; 再 S.top++;

*(s.top)++=e,表示先进行*(s.top)运算再进行++运算(即再+1); ++s.top;*(s.top)=e;,表示先进行+1运算,再进行*()运算。

优先级 '.' > "--" = '*', 所以是e = *(--(s.top)) s是stack s.top有两种可能 一是指向栈顶元素的指针 二是指向比栈顶元素更高一层的空元素 从这里的实际情况来看,我判断是第二种情况,当s.top==0时,栈为空。 --s.top是递减指针,这时s.top就...

*((*S).top)++=e;这句的意思是去除S的top指针,将e赋值给top指向的元素,然后top的指针自增

优先级 '.' > "--" = '*', 所以是e = *(--(s.top)) s是stack s.top有两种可能 一是指向栈顶元素的指针 二是指向比栈顶元素更高一层的空元素 从这里的实际情况来看,我判断是第二种情况,当s.top==0时,栈为空。 --s.top是递减指针,这时s.top就...

s 是EQSTACK类型, s -> data是整形数组, (s -> data)[s -> top]是在这个数组的第s -> top的值 把x 赋予它 其实也就是把一个数据压入堆栈 因为首先做的是判断栈满 if(s ->top == MAXSIZE - 1) { printf("Overflow\n"); return 0} 如果没满的...

从你的代码看应该是C语言或C++吧。 在代码中s应该是一个结构体指针,结构体中包括用于存储压入栈数据数组data[],和表示栈顶的变量top(一般栈为空时 top=-1,压入一个加1)因而s->data[s->top]的意思就是:最后压入的数据,也就是栈顶的数据。例...

int &s——声明s为一个int型引用; int *s——声明s为一个int型指针; s->top——s是指针,访问它指向的成员变量top; s.top——s是变量,访问属于它的成员变量top; *s.top——top是s变量的成员指针,用*访问top指向的内容。

前面是结构名,访问。后面是指针访问

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com