gpt4 book ai didi

c - calloc是否初始化结构数组?

转载 作者:行者123 更新时间:2023-12-01 17:24:55 24 4
gpt4 key购买 nike

我怀疑calloc是否将结构数组的所有元素初始化为零:

#define MAXDATA    10

struct Est2 {
int dato0; // Index k
int dato1; // Index j
int dato2; // Index i
double dato3; // Y Coordinate
};

Est2 *myArray = (Est2*) calloc(MAXDATA, sizeof(Est2));

我问这个问题是因为我不希望myArray的初始数据有垃圾,或者如果我以后不使用任何值初始化数组是否存在问题(如果稍后在代码中还是将其初始化,例如存储结果),是否存在问题?一些算术运算?提前致谢。

最佳答案

man calloc:

void *calloc(size_t count, size_t size);

calloc()函数连续为 count对象分配足够的空间,这些对象分别是内存的 size字节,并返回指向已分配内存的指针。分配的内存中填充了值为零的字节。
calloc()保证它将指向零数据。

关于c - calloc是否初始化结构数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976804/

24 4 0
文章推荐: java - 理解java中的死锁
文章推荐: sql - 仅使用 SQL 将图片插入 SQL Server 2005 图像字段
文章推荐: java - 返回 List 的房间查询会卡住应用程序