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

结构体赋值和指针赋值「建议收藏」结论:结构体的赋值,修改新结构体的内容不会改变原来的那个结构体的值,而指针的赋值,再对指针内容修改则会改变指针指向的那个对象的值,因为指针的赋值其实是将地址传给另一个指针。定义结构体: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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • gcc常用命令_C语言编译过程几个步骤

    gcc常用命令_C语言编译过程几个步骤常用选项一个c文件要经过如下处理才能变成可执行文件Step1:预编译gcc-E-ohello.ihello.cStep2:编译gcc-S-ohello.shello.iStep3:汇编gcc-c-ohello.ohello.sStep4:连接gcc-ohellohello.o如果要一步到位gcc-ohellohello.c…

    2022年10月10日
  • QTreeView样式[通俗易懂]

    QTreeView样式[通俗易懂]1、无样式2、设置被选中节点的字体颜色和背景颜色QTreeView::item:selected{color:#E7ECF0;background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0#667481,stop:1#566373);}3、设置悬浮节点的字体颜色和背景颜色QTreeView::item:hover{color:#ffffff;background:#ff0000;}4、设置节点的上下左右的内

    2022年5月29日
  • IDEA2021.5 激活码[在线序列号]

    IDEA2021.5 激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
  • C# WinForm 设置DataGridView选中指定行

    C# WinForm 设置DataGridView选中指定行introwIndex=3;//指定行号this.dgvInGoodsInfo.Rows[rowIndex].Selected=true;this.dgvInGoodsInfo.CurrentCell=this.dgvInGoodsInfo.Rows[rowIndex].Cells[2];也有其他网友代码Cells[0];如下:我试了,填0和1调试报…

    2022年7月15日
  • C#之 对象数组

    C#之 对象数组对象数组就是数组里的每个元素都是类的对象,赋值时先定义对象,然后将对象直接赋给数组就行了。万物皆可对象,举个例子:一台电脑。我们就可以把电脑看成一个对象。第一种:常规的写法string[]xxx={}例如我们写一个名字集合的数组:string[]name=newstring[]{“小白”,”小黑”,”小明”};//可以简写为:tring[]nam…

    2022年7月12日
  • 电商后台管理系统前端开发总结[通俗易懂]

    电商后台管理系统前端开发总结[通俗易懂]前端和服务器存在跨域问题使用token维持状态,否则使用cookie或者session记录状态

    2022年5月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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