结构体赋值和指针赋值「建议收藏」

结构体赋值和指针赋值「建议收藏」结论:结构体的赋值,修改新结构体的内容不会改变原来的那个结构体的值,而指针的赋值,再对指针内容修改则会改变指针指向的那个对象的值,因为指针的赋值其实是将地址传给另一个指针。定义结构体:structperson{ intage; stringname;};结构体赋值:personp1;p1.age=12;p1.name=”Mike”;personp2=p1;p2.name=”Mary”;cout<<“p1:”<<p1.age

大家好,又见面了,我是你们的朋友全栈君。

结论:结构体的赋值,修改新结构体的内容不会改变原来的那个结构体的值,而指针的赋值,再对指针内容修改则会改变指针指向的那个对象的值,因为指针的赋值其实是将地址传给另一个指针。

定义结构体:

struct person { 
   
	int age;
	string name;
};

结构体赋值:

person p1;
p1.age = 12;
p1.name = "Mike";
person p2 = p1;
p2.name = "Mary";
cout << "p1:" << p1.age << ' ' << p1.name << endl;
cout << "p2:" << p2.age << ' ' << p2.name << endl;

结果:

p1:12 Mike
p2:12 Mary

结构体指针赋值:

person p;
p.age = 12;
p.name = "Mike";
person* p1 = &p;	// 指针必须初始化再使用
person* p2 = p1;
p2->name = "Mary";
cout << "p1:" << p1->age << ' ' << p1->name << endl;
cout << "p2:" << p2->age << ' ' << p2->name << endl;

结果:

p1:12 Mary
p2:12 Mary
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159740.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号