编程论坛
注册
登录
编程论坛
→
数据结构与算法
求帮助~~栈中传址的问题
cailu
发布于 2012-11-25 21:35, 369 次点击
链栈置空的时候,写(Snode *&st),Snode *不是已经表示传的是地址了吗?为什么还要加&??这样写到底是什么意思啊??
3 回复
#2
一个孩子
2012-11-25 23:18
跟我遇到的问题一样啊~~
看看这个吧~
https://bbs.bccn.net/thread-388343-1-1.html
#3
cailu
2012-11-26 22:16
回复 2楼 一个孩子
有点不一样的那,就那你举得例子来说,我不懂得是sqlist * &L 为什么&和*同时一起使用??不是都表示的是地址吗?
#4
寒风中的细雨
2012-11-26 23:40
程序代码:
//
bccn.cpp
#include <stdio.h>
#include
<stdlib.h>
typedef
struct
{
int
yyy;
}Snode;
void
Empty_p(Snode *s)
{
if
(s)
{
free(s);
printf (
"
\tfree...... \n
"
);
s = NULL;
}
}
void
Empty_ref(Snode *&s)
{
if
(s)
{
free(s);
printf (
"
\tfree...... \n
"
);
s = NULL;
}
}
int
main()
{
Snode *s = NULL;
Snode *t = NULL;
s = (Snode*) malloc(
sizeof
(Snode));
t = (Snode*) malloc(
sizeof
(Snode));
if
(s)
{
printf (
"
s = %p\n
"
, s);
Empty_p(s);
printf (
"
s = %p\n
"
, s);
}
if
(t)
{
printf (
"
t = %p\n
"
, t);
Empty_ref(t);
printf (
"
t = %p\n
"
, t);
}
return
0
;
}
运行下 看看效果
[
本帖最后由 寒风中的细雨 于 2012-11-27 11:44 编辑
]
1