【问题标题】:When to use calloc or malloc in C何时在 C 中使用 calloc 或 malloc
【发布时间】:2022-06-16 22:03:51
【问题描述】:

哪个更好/更高效 - calloc 或 malloc?

我想初始化结构,它也引用同一结构的其他实例

变体 1

person* new_person(){
    struct _person* person = calloc(1, sizeof(person));
    person->name = NULL;
    person->child = NULL; 
    return person;
}

变体 2

person* new_person(){
    struct _person* person = malloc(sizeof(person));
    person->name = NULL;
    person->child = NULL;
    return person;
}

结构

typedef struct _person{
    *void name;
    struct _person* child;
}person;

【问题讨论】:

  • 这能回答你的问题吗? Difference between malloc and calloc?
  • 关于这两个函数的文档告诉你什么?应该清楚地说明差异。关于什么更有效:如果您始终为每个成员分配一个值,为什么要浪费时间为其中一个功能提供的一些额外服务?仅当您无论如何都不为所有成员分配正确的值时,这才有意义。

标签: c struct malloc calloc


猜你喜欢
  • 2012-11-11
  • 2021-11-27
  • 1970-01-01
  • 2012-03-02
  • 1970-01-01
  • 2011-05-05
  • 2011-12-27
  • 2014-06-28
  • 1970-01-01
相关资源
最近更新 更多