查看: 3030|回复: 0

[资料分享] 结构体中数组成员的赋值问题,值得借鉴哈!

[复制链接]

4

主题

3

回帖

38

积分

管理员

积分
38
发表于 2015-4-26 11:36:28 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
#include <iostream>
) E1 Q2 C2 I# }2 c  ^6 busing namespace std;0 W5 y0 \# ?  d! p. B2 W+ o7 O
struct student7 O4 h. K7 X, W2 e4 W% ~4 l
{
. w# x8 n0 d! r& p: @* ~" h3 J  char name[20];
$ g: a" w, I2 T6 F( n: J- ?  int age;
1 i' x$ Q5 }( O6 a9 A5 b};
int main( )9 P1 J; f. ^: v  Q* q. f
{4 h) j* v7 t& z
student s;# D% f: b4 B0 \8 `
s.name="gyy";   //error7 L- C' w  R. i$ A0 e
return 0;
* a+ {4 v5 Z* h& e; s3 C7 }/ l}
6 {. `7 ~) T3 i0 m/ Z
道理和以下语句错误的原因一样,数组名表示常量,不允许对常量赋值,所以常量不允许出现在“=”的左边,当做左值出现。所以不能直接用字符串赋值给数组名。但请注意:可以在定义字符数组的同时用字符串给字符数组赋初值。
char name[20]="gyy";  //ok
但先定义,再赋值的方式就是错误的。
char name[20];2 q: T' q- O( W. M
name="gyy";  //error
对开始的程序修改方式(1)
#include <iostream>
! O2 w" p- g0 H( w3 i6 R( k8 l' busing namespace std;. U% m$ Y: r% I, \
struct student
6 J" G: \' J; D. ], b+ ?4 G* M{
3 v* x) Z& ^' W8 r  string name;
9 p- f% b9 ]4 t2 t
  int age;$ ~2 e' U. y. ]
};
int main( ). ?; s' X: p! M
{
0 k4 g( D% y" p, d6 l' ^/ I8 { student s;' u4 I) C7 ^5 `+ u* W* x7 v$ n' R0 Z
s.name="gyy";   //ok
) j; {8 a* _* n7 X. M6 e1 G
return 0;. J( y' n% J+ O9 `
}
对开始的程序修改方式(2)
#include <iostream>
# A. ?5 ]! ]3 Z- x  nusing namespace std;
. x3 `2 C( b2 Y) g' X$ d4 ~  u+ Hstruct student
: x( H% Z6 a4 D0 T4 s, S{% L3 N6 s" \1 o; F
  char  name[20];' v# J) `4 H  c
  int age;
9 }, W" S# e) w$ a};
int main( ); W) D; d. J' O3 h4 i9 P6 Y
{6 r3 L% x6 v" y
student s;
% y+ }# m- u  h  |; `4 G! ]0 l. a strcpy(s.name,"gyy");   //ok
1 x) c; g" e+ c/ C. i1 c9 [. ~
return 0;
- C' j; _8 g6 a' w9 T; |% O}

) C, O" S4 v' F/ F3 ~# r, i* u- w
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部