C/C++中有关顺序栈里的问题?

来源:百度知道 编辑:UC知道 时间:2024/07/07 18:10:17
刚学到这里,看到

struct STU
{
char ...
...
...
int ...
};

typedef struct STU SElemType;

struct STACK
{
SElemType *base; /*这儿的SElemType是用户自定义的类型吧,
它来源于上面的:typedef struct STU SElemType;不理解这句话,
我查看了关键字typedef是允许用户从现有类创建一个新类,可还是不理解.
联系实际情况,哪位大哥大姐们,帮我解释下这句话,
和后面的一起解释下吧.*/
SElemType *top;
int stacksize;
};
对你们三个人的答案都很满意,没办法选择,投票吧!

C学了N年了,都快忘完了
struct STU 声明一个叫STU的结构体
typedef struct STU SElemType 将STU作为一个类型:SElemType
SElemType *top声明一个叫TOP的SElemType类型指针

typedef struct STU SElemType;
通俗的说话就是
把结构STU重新给你一个好记的名字SElemType

其实挺好理解.

假设这样.我看int 这个名字不爽.我就把它变成一个好记的名字.
typedef int ZhengXing;

以后后定义整形的变量时就可以
ZhengXing x,y; ==> int x,y
一样的

SElemType 这个类型就是STU这个类型了
作者用typedef不过是声明这个SElemType类型名来代替STU而已.所以
SElemType *top;就是相当于STU *top;
int stacksize;是栈的深度.也就是长度.