c - 如何将指向结构的指针数组初始化为零

标签 c linux pointers structure

我正在通过 malloc 为指向结构的指针数组分配内存,并希望将其初始化为零,如下所述。假设该结构包含类型为 int 和 char [](字符串)的成员?那么我怎样才能将这个结构归零。

代码:假设我想分配 100

struct A **a = NULL;
a = (struct **)malloc(sizeof( (*a) * 100);
for(i=1; i < 100; i++)
     a[i] = (struct A*)malloc(sizeof(a));

另外请解释一下为什么需要用零初始化。

平台:Linux,编程语言:C

我知道我们可以使用 memset 或 bzero 。我试过了,但它崩溃了,可能是我没有正确使用它,所以请告诉我正确的方法。

最佳答案

使用 calloc 最符合上面的例子。

关于c - 如何将指向结构的指针数组初始化为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8717625/

相关文章:

c - 当头节点不为空时链表尾部插入

c# - 如何修复 'cannot open shared object file: No such file or directory' 错误?

c - 在 ANSI C 中使用指针替换字符

c - 何时为 C 中的结构和 "create"函数分配内存

c - 试图重新分配一个结构,c

c - printf 怎么会打印一个非空终止字符串?

python - 使用 Crontab 运行简单的 Python 文件

linux - 仅在尚未发送时通知发送

c++ - 在 C++ 中,我无法掌握指针和类

php - 从 PHP 执行 C 程序