尝试初始化以下结构中的名称时,收到错误消息“错误:从类型'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或类似的格式),但可以使用初始化程序指定的特定值来存在数据。

09-09 20:39
查看更多