gpt4 book ai didi

C - 在函数中初始化全局数组

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

我有一个数组,我想将其设为全局数组,并且我想在函数调用中进行初始化。我想在不知道它的大小的情况下先声明它:

char str[];

然后初始化它:

str = char[size];

我该怎么做?我是 c 的新手,也许我在这里完全走错了路,我们将不胜感激。

最佳答案

方法是使用 malloc。首先声明一个指针:

char *str;

然后在 init 函数中 malloc 它:

str = malloc(sizeof(*str) * size_of_array);

这会分配 size_of_array 元素,其大小为 str 指向的大小(在本例中为 char)。

你应该检查分配是否失败:

if (str == NULL) {
// allocation failed
// handle the error
}

通常您必须确保在使用完分配的内存后释放。然而,在这种情况下 str 是全局的,因此它永远不会超出范围,并且当程序结束时内存将被释放

关于C - 在函数中初始化全局数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4240331/

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