gpt4 book ai didi

c - 声明后初始化数组

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:59 24 4
gpt4 key购买 nike

海湾合作委员会 4.4.3 c89

我有以下代码作为我正在尝试做的示例。在我进入函数之前,我不知道数组的实际大小。但是,我不认为我可以在声明后设置数组大小。我需要它是全局的,因为一些其他功能需要访问设备名称。

非常感谢您的任何建议,

/* global */
char *devices_names[];

void fill_devices(size_t num_devices)
{
devices_names[num_devices];

/* start filling */
}

最佳答案

您需要使用 malloc 动态分配内存:

char **device_names;

void fill_devices(size_t num_devices)
{
device_names = malloc(num_devices * sizeof(char*));
}

然后使用 free(device_names); 在您不再需要时释放内存。

关于c - 声明后初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2816765/

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