【发布时间】:2016-04-24 00:45:00
【问题描述】:
据我所知, * 符号通常出现在基本类型的变量之前(例如 int )。但是,我遇到了如下一行代码:
insert(int key, struct node **leaf)
{
if( *leaf == 0 )
{
*leaf = (struct node*) malloc( sizeof( struct node ) );
(*leaf)->key_value = key;
/* initialize the children to null */
(*leaf)->left = 0;
(*leaf)->right = 0;
}
else if(key < (*leaf)->key_value)
{
insert( key, &(*leaf)->left );
}
else if(key > (*leaf)->key_value)
{
insert( key, &(*leaf)->right );
}
}
当 * 符号出现在结构之前(例如 struct node*)时,它是如何工作的?
谢谢。
【问题讨论】:
-
我最近在这段代码中看到了 * 符号:
return 3 * 5;。我真的很想知道 那 是如何工作的;据我所知,5 不是指针。 -
也许阅读任何关于 c 的书,而不是等待某人输入类似但不那么深入的内容
-
我一直在互联网上寻找答案(现在买不起教科书)。对于否则浪费您的时间,我深表歉意。
-
我留下了一个关于这里到底发生了什么的答案,但你需要学习和理解 C 指针的基础知识(声明、分配、运算符 & 的地址、取消引用运算符 * 等...)
-
你没有图书馆吗?或者大学里的二手书店