我有这个结构定义:
typedef struct node_bst
{
int data;
struct node_bst *lchild;
struct node_bst *rchild;
struct node_bst *parent;
} node_bst;
Run Code Online (Sandbox Code Playgroud)
我试图用这个创建一个指向结构的指针:
node_bst *root;
Run Code Online (Sandbox Code Playgroud)
和像这样分配内存:
root= malloc(sizeof(node_bst));
Run Code Online (Sandbox Code Playgroud)
现在,为了初始化其中的数据项,我尝试了这个语句(从通常的结构变量初始化中得到提示):
*root= {0, NULL, NULL, NULL};
Run Code Online (Sandbox Code Playgroud)
但是编译器抛出了一个错误
错误:'{'标记之前的预期表达式
我查了一下,发现我需要像这样对它进行类型化:
*root= (node_bst) {0, NULL, NULL, NULL};
Run Code Online (Sandbox Code Playgroud)
现在它工作正常,但我的问题是,为什么我需要这样做?
我希望编译器已经知道root是指向node_bst类型结构变量的指针.那么为什么需要对rvalue进行类型转换呢?
另一件奇怪的事:
int *a= malloc(sizeof(int));
*a= 4;
Run Code Online (Sandbox Code Playgroud)
这很好用.
我想在网页上制作一个项目符号列表,我需要我的项目符号像用户可以选择的复选框一样起作用。然后,我想使用它们根据用户选择的列表元素执行某些功能。此外,这些<li>中的每一个还包含一个description list.
list-style-type没有这样的选择。我试图将一个输入标签附加到<li>这样的:
<input type= "checkbox">
但这看起来太丑了,因为复选框没有出现在与 .html 的其余部分不同的行上<li>。
我试图找到min,max,mean,sum并std在熊猫的GroupBy对象的一些列。为此,我的原始代码是这样的:
df_agg = df.groupby('id')[column_list].agg(['mean', 'max', 'min', 'sum', 'std'])
Run Code Online (Sandbox Code Playgroud)
但这NaN在std列中产生了很多s 。搜索后,我发现它 std接受一个参数 - ddof(Delta Degrees of Freedom) - 默认设置为 1。这导致除以 0 错误并给出这些NaN值。
现在,我想在上面代码中使用的参数ddof=0中发送一个参数,std但我不明白如何做到这一点。
请帮忙。