+ -
当前位置:首页 → 问答吧 → 求解这段代码到底咋啦?

求解这段代码到底咋啦?

时间:2011-12-04

来源:互联网

我截取部分代码,首先是数据结构
typedef struct class{
  int class_number;
  int amount;
  }class;
typedef struct course{
  char name[10];
  int grade;
  }course;
typedef struct student{
  char name[10];
  char nick_name[6];
  char code[6];
  int number;
  int class_number;
  int age;
  char sex;//男为m,女为f
  char birthday[11];
  course cos[5];
  }student;
typedef struct administrator{
  char name[10];
  char nick_name[6];
  char code[6];
  }administrator;
typedef struct teacher{
  char name[10];
  char nick_name[6];
  char code[6];
  char course_name[10];
  }teacher;
typedef struct result_help{
  int identity;
  int rank;
  }result_help;
这是全部的数据结构,然后是有问题的代码部分
for(i=0;i<5;++i)
  {  
  temp_student.cos[i].name="00000000000";
  temp_student.cos[i].grade=-1;
  }
这个地方编译的时候说temp_student.cos[i].name="00000000000";这句有问题,问题是“incompatible types in assignment”,问题是我觉得没问题啊!!!

作者: william0701   发布时间: 2011-12-04

你知道typedef 怎么用吗?

作者: fcmsuck   发布时间: 2011-12-04

引用 1 楼 fcmsuck 的回复:

你知道typedef 怎么用吗?

难道我用错了?

作者: william0701   发布时间: 2011-12-04

typedef struct class{
  int class_number;
  int amount;
  }class;

class是关键字 不能用来命名

作者: IVERS0N   发布时间: 2011-12-04

typedef 为一个类型起别名 

用相同的命名没起作用

作者: IVERS0N   发布时间: 2011-12-04

我写的是C啊,不是C++~~~

作者: william0701   发布时间: 2011-12-04

引用 4 楼 ivers0n 的回复:

typedef 为一个类型起别名

用相同的命名没起作用

我写的是C啊,不是C++~~~

作者: william0701   发布时间: 2011-12-04

要用那个结构体的话 就要这样用 class stu ;

作者: HONDELY   发布时间: 2011-12-04

兄弟 
数组赋值 不是这样赋的。。。
这个问题 如同声明个字符数组 
char a[10];
然后你写成 a="000000000";
a这里相当与一个指针,本身就在内存中占着一块地址。
"000000000"本身也是被一个指向常量的指针所指,所以这个指针本身也占用内存的另一快地址。两个不同的地址是不可以画“=”的。。。
要想给他赋值 用循环赋值 或者 strcpy 或者memcpy都行!

作者: superquan1985   发布时间: 2011-12-04