gpt4 book ai didi

c - 如何在二维数组中使用 memset 函数来初始化 C 中的成员?

转载 作者:太空狗 更新时间:2023-10-29 17:22:11 28 4
gpt4 key购买 nike

我想知道如何在 C 中的 二维数组 中使用 memset() 函数。

我不想在该数组中遇到任何垃圾问题。我如何初始化这个数组?

谁能告诉我如何实现它?

最佳答案

如果您的二维数组具有静态存储持续时间,则默认将其初始化为零,即数组的所有成员都设置为零。

如果二维数组具有自动存储持续时间,则可以使用数组初始化列表将所有成员设置为零。

int arr[10][20] = {0};  // easier way
// this does the same
memset(arr, 0, sizeof arr);

如果动态分配数组,则可以使用 memset 将所有字节设置为零。

int *arr = malloc((10*20) * (sizeof *arr));
// check arr for NULL

// arr --> pointer to the buffer to be set to 0
// 0 --> value the bytes should be set to
// (10*20*) * (sizeof *arr) --> number of bytes to be set
memset(arr, 0, (10*20*) * (sizeof *arr));

关于c - 如何在二维数组中使用 memset 函数来初始化 C 中的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23039134/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com