注册 登录
编程论坛 数据结构与算法

求帮助~~栈中传址的问题

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
cailu2012-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