首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

结构体整体赋值有关问题

2013-08-01 
求助:结构体整体赋值问题假如前面定义了二叉查找树,这样的操作会不会改变根节点?已经定义了typedef struct

求助:结构体整体赋值问题
假如前面定义了二叉查找树,这样的操作会不会改变根节点?
已经定义了
typedef struct BSTNode
{
    ElementType data;   //
    struct BSTNode *left;   //左子树
    struct BSTNode *right;  //右子树
}*BSTNode, *BSTree;

BSNode FindMax(BSTree T)
{
    if(T != NULL)
    {
        while(T->right != NULL)
        T = T->right;
    }
    
    return T;
}
那里T = T->right;会不会改变根节点,为什么?
结构体可以整体赋值吗? 结构体 赋值
[解决办法]
不会

指针作为函数的参数, 函数只能修改指针指向的内容, 不能修改指针的指向. 要修改指针本身的值, 也就是它的指向, 用指针的指针或指针的引用.
[解决办法]
请深刻理解“值传递”的含义!
[解决办法]
函数参数传递,传递的是实参的一个副本,这就是所谓的“值传递”。传递指针,只能修改指针指向的内容,在调用函数里的值没有发生任何改变,但指向的内容会发生变化。

热点排行