【发布时间】:2010-01-01 08:31:22
【问题描述】:
我的代码如下:
#include <stdio.h>
struct MyData {
int id;
char msg[255];
};
int main ( int argc, const char * argv[] ) {
struct MyData item;
item.id = 3;
item.msg = "something else";
printf("Msg: %d", item.msg);
return 0;
}
我在该行的赋值中遇到类型不兼容的错误: item.msg = "别的东西";
我不担心设置 id 属性,但我不知道如何设置字符串属性“msg”。任何想法我做错了什么?
【问题讨论】:
-
供参考...由于字符串是文字,从 C99 开始,您可以说
struct MyData item = { 3, "something" }; item = (struct MyData) { 3, "something else" };。不过,AFAIK 仅适用于数组和字符串文字。