结构体指针整体赋值的问题?!

大板牙花生 2017-03-22 10:46:25

struct DATA{
int x;
int y;
}
DATA * a = new Data;
DATA * b= new Data;
a.x =1;
a.y =1;

*b =*a;



这样并不对吧?反正运行是有错误 的和 其他基本类型、类的整体赋值就不一样 之前看书记得看过 现在忘记原因了 求指教
...全文
469 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_33866143 2017-03-23
  • 打赏
  • 举报
回复
赞成1楼的,建议还是安装个能自动补全的编辑器,如果是指针就按‘.’就会编程‘->’,是对象就仍然是‘.’
paschen 版主 2017-03-23
  • 打赏
  • 举报
回复
你这个结构体可以直接赋值 你代码的问题不在于赋值,主要问题是: 1、结构体定义后面要加上分号 2、new Data改成new DATA 3、a.x 改成 a->x, 同理a.y
啊哈moment 2017-03-23
  • 打赏
  • 举报
回复
楼上正解 你编程序的时候 IDE肯定会有提示啊  你看着提示改改 再调试一下 一般问题就都解决了 
Chin__Lee 2017-03-22
  • 打赏
  • 举报
回复
1:应该是new DATA, 2: 你的a是指针,所以应该用a->x来赋值。 BTW:你的结构体定义后面应该有一个分号
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在C语言中,结构体是一种复合数据类型,它能够将不同类型的多个数据组合成一个统一的整体。结构体通常被用于表示较为复杂的数据结构,例如学生信息、员工记录等。指针是C语言中一种特殊的变量,它存储的是其他变量的地址,通过指针可以间接访问和修改被指向的变量。 定义结构体时,需要使用struct关键字,后面紧跟结构体的名称以及其成员。例如,以下代码定义了一个结构体stu,它包含了学生的姓名(字符串指针)、学号(整型)、年龄(整型)、所在小组(字符)和成绩(浮点型): 我们可以创建结构体变量并初始化其成员。例如: 指针可以指向结构体变量。定义结构体指针的方式如下: 然后可以将结构体变量的地址赋值给指针,如下: 需要注意的是,不能直接写pstu = stu1,因为stu1是结构体变量本身,而不是地址。结构体变量名不会像数组名那样在表达式中自动转换为指针,因此必须使用&运算符来获取其地址。 访问结构体成员有两种方式:一是通过解引用操作*和成员访问运算符.,例如(*pointer).memberName;二是使用结构体指针的箭头运算符->,例如pointer->memberName。这两种方式是等价的,但箭头运算符使代码更易读。例如: 结构体数组是结构体的数组形式,可以同时存储多个结构体变量。例如: 结构体数组的指针可以用来遍历整个数组。例如: 以上就是C语言中关于结构体和指针的基本概念及其用法的介绍,包括结构体的定义、初始化、指针的声明、赋值,以及如何通过指针访问结构体成员。熟练掌握这些知识对于编写复杂的C程序非常重要。

65,207

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧