求解这段代码到底咋啦?
时间: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
作者: fcmsuck 发布时间: 2011-12-04
你知道typedef 怎么用吗?
难道我用错了?
作者: william0701 发布时间: 2011-12-04
int class_number;
int amount;
}class;
class是关键字 不能用来命名
作者: IVERS0N 发布时间: 2011-12-04
用相同的命名没起作用
作者: IVERS0N 发布时间: 2011-12-04
作者: william0701 发布时间: 2011-12-04
typedef 为一个类型起别名
用相同的命名没起作用
我写的是C啊,不是C++~~~
作者: william0701 发布时间: 2011-12-04
作者: HONDELY 发布时间: 2011-12-04
数组赋值 不是这样赋的。。。
这个问题 如同声明个字符数组
char a[10];
然后你写成 a="000000000";
a这里相当与一个指针,本身就在内存中占着一块地址。
"000000000"本身也是被一个指向常量的指针所指,所以这个指针本身也占用内存的另一快地址。两个不同的地址是不可以画“=”的。。。
要想给他赋值 用循环赋值 或者 strcpy 或者memcpy都行!
作者: superquan1985 发布时间: 2011-12-04
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28