c语言中栈的栈顶元素为什么有时候用L->top,有时候用L.top这两个有什么区别,栈的元素从栈底到栈顶输出的c语言代码怎么写,谢谢各位大神了
用“->”还是“.”这个要看L是指针还是结构体了,栈是“先进后出,后进先出”。你是不是说,你要自己定一个“栈”其实呢就是自己做个链表,实现能从“栈底”到“栈顶”方向输出?
这个要看 L 的定义是指针,还是非指针变量。
栈的元素从栈底到栈顶输出:最直接的方法是先将栈元素出栈,建立一个新的栈。这样就是将本来的栈中元素的顺序颠倒了,然后对新的栈出栈就获取到想要的结果。
要看L的类型,比如说有如下的栈结构体:
struct Stack{
int top() {
//do somethng
}
//还有其他的一些东西
};
使用的时候:
// 直接创建Stack类型的数据
Stack stack;
//调用stack的top函数
stack.top();
//另外一种
//创建Stack类型的指针,并让其指向新建的具有Stack结构的内存空间(相当于对象)
Stack *stackPoint = new Stack();
//调用stackPoint的top函数
stackPoint->top();
也就是说,如果是指针变量的话那么就用 -> 访问内部的函数 ,如果是一般的变量的话,直接用 . 就可以访问内部函数了