我被展示了很多使用calloc和malloc的方法:使用cast,without等 所以我在这里有两个选项如何使用calloc。我很好奇哪一个适合x86 isa。
如果我有以下内容:
typedef struct node{
int numOfOccur;
int numOfSuperWords;
struct node *children;
}NodePtr;
NodePtr* temp = &root;
使用calloc分配内存将如何正确。
选项1
temp -> children[currChar].children = (NodePtr *)calloc(27, sizeof(struct node));
选项2
temp -> children[currChar].children = calloc(27, sizeof(children[currChar].children));
答案 0 :(得分:0)
有几种正确的方法可以写这个。我更喜欢以下内容:
temp->children[currChar].children = calloc(27, sizeof(struct node));
(即使用类型名称而不是长表达式,no cast。)
除此之外,我对这个神奇的数字(27
)并不十分热衷。