gpt4 book ai didi

c - 结构初始化失败

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

我在按照以下代码初始化结构时遇到了困难。这甚至可以完成,还是我真的需要将 5 个字符的字符串 memcpy (urg) 到结构中?

struct MyStruct  
{
char x[5];
};

main(...)
{
const char* MyString = {"mnopq"}; // I understand this is a non-NULL terminated string -
// it's OK, I just want five character fields in an array

struct MyStruct = {MyString}; // <---This gives warnings below
}

警告:初始化器周围缺少大括号
警告:初始化从指针生成整数而不强制转换

如果我像这样包装初始化器:

struct MyStruct = {{MyString}};

第一个警告消失了。第二个警告没有。因此,该结构未按预期进行初始化。

在此先感谢您的帮助。

最佳答案

"mnopq" 是一个数组,const char * MyString 不是。

struct MyStruct foo = {"abcde"}; 将起作用,而您的方法将指针 MyString 转换为整数值并赋值它到 x 的第一个元素。

关于c - 结构初始化失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5264013/

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