c语言之 *指针与 **指针

*n 一级指针:

&nn*n
自身地址指向地址指向地址值

**s 二级指针:

&ss*s**s
自身地址一级指针地址一级指针指向地址一级指针指向地址值

CHILD *walk, *next, *tmp_child, **scan;

next = walk->next
scan = &walk->next;
while (*scan) {     // *scan = walk->next
    if (!tree_equal(walk->child, (*scan)->child)) {     // (*scan)->child) = walk->next->child
        scan = &(*scan)->next;                          // &(*scan)->next = &walk->next->child
    } 
    else {
        if (next == *scan)                              // (next == *scan) ==> (next == walk->next)
            next = (*scan)->next;                       // (*scan)->next = walk->next->next
        count++;
        tmp_child = (*scan)->next;                      // (*scan)->next = walk->next->next
        free(*scan);
        *scan = tmp_child;                              // *scan = walk->next
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值