gpt4 book ai didi

c - 这在 C 中允许吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:04 26 4
gpt4 key购买 nike

我用 C 写了下面这行。我想知道该语言是否支持。它是这样的:

char * mode[7] = Config_Msg.DHCP ? "DHCP" : "Static";

基本上我想在模式中插入“DHCP”或“STATIC”的字符串值,具体取决于 Config_Msg.DHCP 中的值。

当我在 IAR 中编译时,我收到此警告:

Warning[Pe520]: initialization with "{...}" expected for aggregate  

这个警告是什么意思?

最佳答案

警告意味着您的问题的答案是否定的。您正在做的事情可以在运行时完成,但在初始化程序中无效。只写:

char * mode;mode = Config_Msg.DHCP ? "DHCP" : "Static";

经过仔细检查,这不是您发出警告的来源。您错误地将 mode 声明为 7 个指针的数组,因此编译器期望进行以下形式的初始化:

char * mode[ 7 ] = { "one", "two", "three" };

(其余四个条目将被初始化为全零)。

关于c - 这在 C 中允许吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8025897/

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