admin 发表于 2015-4-26 11:36:28

结构体中数组成员的赋值问题,值得借鉴哈!

#include <iostream>
using namespace std;
struct student
{
char name;
int age;
};int main( )
{
student s;
s.name="gyy";   //error
return 0;
}
道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。char name="gyy";//ok但先定义,再赋值的方式就是错误的。char name;
name="gyy";//error 对开始的程序修改方式(1)#include <iostream>
using namespace std;
struct student
{
string name;
int age;
};int main( )
{
student s;
s.name="gyy";   //ok
return 0;
}对开始的程序修改方式(2)#include <iostream>
using namespace std;
struct student
{
charname;
int age;
};int main( )
{
student s;
strcpy(s.name,"gyy");   //ok
return 0;
}
页: [1]
查看完整版本: 结构体中数组成员的赋值问题,值得借鉴哈!