社区
C语言
帖子详情
Status InitStack(SqStack **S); **S怎么解释
jerrygj
2006-07-13 03:48:39
Status InitStack(SqStack **S);
s 是定义了的栈,请教**S怎么解释
...全文
1078
11
打赏
收藏
Status InitStack(SqStack **S); **S怎么解释
Status InitStack(SqStack **S); s 是定义了的栈,请教**S怎么解释
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jerrygj
2006-07-18
打赏
举报
回复
内存泄漏?
ggyg1121
2006-07-14
打赏
举报
回复
学习了
cdlgz
2006-07-14
打赏
举报
回复
jerrygj() 的例子会导致内存泄漏吧
jerrygj
2006-07-13
打赏
举报
回复
终于明白了,多谢各位
chenhu_doc
2006-07-13
打赏
举报
回复
SqStack *Sa;
InitStack(&Sa); //何必?
//这样传递进去的就是二级指针了,用** 来接收!
jerrygj
2006-07-13
打赏
举报
回复
下面是原程序
typedef int Status ;
struct STU{
char name[20];
char stuno[10];
int age;
int score;
};
typedef struct STU SElemType;
struct STACK
{
SElemType *base;
SElemType *top;
int stacksize;
};
typedef struct STACK SqStack;
typedef struct STACK *pSqstack;
Status InitStack(SqStack **S)
{
(*S)=(SqStack *) malloc(sizeof(SqStack));
(*S)->base=(SElemType *)malloc(STACK_INIT_SIZE *sizeof(SElemType));
if(!(*S)->base)exit(OVERFLOW);
(*S)->top=(*S)->base;
(*S)->stacksize=STACK_INIT_SIZE;
return OK;
}
void main()
{
SqStack *Sa;
InitStack(&Sa);
}
帮我通俗的解释一下
open_sky
2006-07-13
打赏
举报
回复
你不用二重指针就不用晕了
就是一个纸包里又包了一个纸包,把它交给函数女士,打开一个纸包,又打开一个纸包,上面写着“我的栈在第二个抽屉里”,函数女士说:“先生你需要改吗?”,”改,改了!“
然后函数女士把最外面的那层纸撇了,就给你一张纸,上面写着“鲍家街43号!”
jerrygj
2006-07-13
打赏
举报
回复
还是不理解
0黄瓜0
2006-07-13
打赏
举报
回复
Status InitStack(SqStack **S); //栈上分配4字节空间保存一个指针,指针指向SqStack*的指针。
如果有 SqStack *ps; InitStack(&ps);那么,函数体中*S=(InitStack*)malloc(sizeof(InitStack));就相当于直接是函数外的ps=(InitStack*)malloc(sizeof(InitStack));
jerrygj
2006-07-13
打赏
举报
回复
Status InitStack(SqStack **S); 是我看到的代码,我不理解**S
chenhu_doc
2006-07-13
打赏
举报
回复
struct
{
//your code;
}SqStack;
调用他的函数里面,
声明: SqStack ssk;
调用函数时用 InitStack(&S); // 取地址传进去,
Status InitStack(SqStack *S); // 用1维指针接收
数据结构顺序栈
Status
Init
St
ack
Sq
St
ack
&S { S base SElemType malloc
ST
ACK
INIT
SIZE sizeof SElemType ; if S base exit OVERFLOW ; S top S base; S
st
ack
size
ST
ACK
INIT
SIZE; return OK; }
Status
a Sq
St
ack
&...
迷宫问题
- **`
Status
Init
St
ack
(Sq
St
ack
*S);`**:初始化顺序栈。 - **`
Status
Init
Maze(MazeType *M);`**:初始化迷宫数据结构。 #### 操作函数 - **`
Status
Destroy
St
ack
(Sq
St
ack
*S);`**:销毁顺序栈。 - **`
Status
...
栈的实现与应用(全解).pdf
Status
Init
St
ack
(Sq
St
ack
** S) { (*S) = (Sq
St
ack
*)malloc(sizeof(Sq
St
ack
)); (*S)->base = (SElemType*)malloc(
ST
ACK
_
INIT
_SIZE * sizeof(SElemType)); if (!(*S)->base) exit(OVERFLOW); (*S)->top = (*S)->...
中序遍历二叉树非递归算法 栈实现代码
typedef char TElemType;...
Status
Init
St
ack
(Sq
St
ack
&S)
Status
GetTop(Sq
St
ack
&S, BiTree &e)
Status
Push(Sq
St
ack
&S, BiTree e)
Status
Pop(Sq
St
ack
&S,BiTree &e)
Status
St
ack
Empty(Sq
St
ack
S)
C语言 迷宫 源代码
- `
Status
Init
St
ack
(Sq
St
ack
* s)`:该函数用于初始化栈,为栈分配内存空间,并设置初始指针指向栈底。 2. **判断当前位置是否可通行**: - `
Status
Pass(PosType e)`:检查坐标 `e` 对应的位置是否可通行(即值...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章