使用calloc for x86 ISA的正确方法是什么?

时间:2014-10-04 18:33:16

标签: c

我被展示了很多使用calloc和malloc的方法:使用cast,without等 所以我在这里有两个选项如何使用calloc。我很好奇哪一个适合x86 isa。

如果我有以下内容:

typedef struct node{
    int numOfOccur; 
    int numOfSuperWords;
    struct node *children;
}NodePtr;

NodePtr* temp = &root;

使用calloc分配内存将如何正确。

  1. 选项1

    temp -> children[currChar].children = (NodePtr *)calloc(27, sizeof(struct node));
    
  2. 选项2

    temp -> children[currChar].children = calloc(27, sizeof(children[currChar].children));
    

1 个答案:

答案 0 :(得分:0)

有几种正确的方法可以写这个。我更喜欢以下内容:

temp->children[currChar].children = calloc(27, sizeof(struct node));

(即使用类型名称而不是长表达式,no cast。)

除此之外,我对这个神奇的数字(27)并不十分热衷。