尝试初始化以下结构中的名称时,收到错误消息“错误:从类型'char *'分配给类型'char [10]'时不兼容的类型:
#include <stdio.h>
struct info
{
char name[10];
int years;
};
int main(void){
struct info b;
b.name = "Michael";
b.years = 19;
return 0
;}
最佳答案
由于您只是尝试初始化您的结构,因此您可能可以摆脱:
struct info b = {"Michael", 19};
C在初始化和赋值之间进行区分(即使它们使用相同的运算符)。不能分配数组(必须改用
memcpy
或类似的格式),但可以使用初始化程序指定的特定值来存在数据。