几个C++的结构体成员引用问题
1.可以将结构体变量的值赋给另一个具有相同结构的结构体变量;2.可以引用结构体变量成员的地址,也可以引用结构体变量的地址。对1,怎样算是结构体的结构相同?是成员数据类型相...
1.可以将结构体变量的值赋给另一个具有相同结构的结构体变量;
2.可以引用结构体变量成员的地址,也可以引用结构体变量的地址。
对1,怎样算是结构体的结构相同?是成员数据类型相同,个数也要相同?成员变量名也相同?。。。。。。能否举个例子?
对2,是说利用指针么?。。能否举个例子?
希望各位大虾帮忙解释下,好的会加分的!! 展开
2.可以引用结构体变量成员的地址,也可以引用结构体变量的地址。
对1,怎样算是结构体的结构相同?是成员数据类型相同,个数也要相同?成员变量名也相同?。。。。。。能否举个例子?
对2,是说利用指针么?。。能否举个例子?
希望各位大虾帮忙解释下,好的会加分的!! 展开
展开全部
#include<stdio.h>
int main()
{
struct node
{
int data;
int n;
}s1,s2,*p;
/*
struct node1
{
int data;
int n;
}s2;
*/
s1.data=1;
s1.n=10;
//1.可以将结构体变量的值赋给另一个具有相同结构的结构体变量;
s2=s1;//s1和s2结构完全相同,可以整体赋值.
printf("s2.data=%d\n",s2.data);
//2.可以引用结构体变量成员的地址,也可以引用结构体变量的地址
p=&s2;//让p指向s2地址
p->data=33;//修改s2中data数值为33
printf("s2.data=%d\n",s2.data);
int *q;
q=&s2.data;//让q指向s2.data地址,而不是指向s2
*q=56;//修改s2中data数值为56
printf("s2.data=%d\n",s2.data);
return 0;
}
int main()
{
struct node
{
int data;
int n;
}s1,s2,*p;
/*
struct node1
{
int data;
int n;
}s2;
*/
s1.data=1;
s1.n=10;
//1.可以将结构体变量的值赋给另一个具有相同结构的结构体变量;
s2=s1;//s1和s2结构完全相同,可以整体赋值.
printf("s2.data=%d\n",s2.data);
//2.可以引用结构体变量成员的地址,也可以引用结构体变量的地址
p=&s2;//让p指向s2地址
p->data=33;//修改s2中data数值为33
printf("s2.data=%d\n",s2.data);
int *q;
q=&s2.data;//让q指向s2.data地址,而不是指向s2
*q=56;//修改s2中data数值为56
printf("s2.data=%d\n",s2.data);
return 0;
}
展开全部
结构体其实就是,不同类不能拷贝。
如果继承关系或者从一个类继承。static_cast<>倒是可以转换拷贝。
如果不是,但是内容差不多,你要自己重载=就可以了。
第二个问题,不太理解你要问题,难道就是 MyClass& m_MyClass=mVa;?
如果继承关系或者从一个类继承。static_cast<>倒是可以转换拷贝。
如果不是,但是内容差不多,你要自己重载=就可以了。
第二个问题,不太理解你要问题,难道就是 MyClass& m_MyClass=mVa;?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
#include <string.h>
using namespace std;
struct student
{
char name[10];
int age;
};
void main()
{
student stu1 = {"王飞", 22};
// 结构体变量之间相互赋值
student stu2;
stu2 = stu1;
cout << "姓名: " << stu2.name << endl;
cout << "年龄: " << stu2.age << endl;
// 定义一个student型指针
student *pstu;
// 给pstu分配空间
pstu = new student();
// 利用指针访问结构体成员
strcpy(pstu->name, "小明");
pstu->age = 20;
cout << "姓名: " << pstu->name << endl;
cout << "年龄: "<< pstu->age << endl;
}
#include <string.h>
using namespace std;
struct student
{
char name[10];
int age;
};
void main()
{
student stu1 = {"王飞", 22};
// 结构体变量之间相互赋值
student stu2;
stu2 = stu1;
cout << "姓名: " << stu2.name << endl;
cout << "年龄: " << stu2.age << endl;
// 定义一个student型指针
student *pstu;
// 给pstu分配空间
pstu = new student();
// 利用指针访问结构体成员
strcpy(pstu->name, "小明");
pstu->age = 20;
cout << "姓名: " << pstu->name << endl;
cout << "年龄: "<< pstu->age << endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struct 结构体类型名
{
数据成员说明列表
};
其中,struct为定义结构体类型的关键字,结构体类型名是用户定义的任何一个有效的标识符,它的作用就如同任何一个基本类型名,利用它能够定义具有该结构类型的变量或函数。数据成员说明列表是对其名成员的数据类型的说明,即:类型名 成员名。整个结构体类型定义必须用“;”作为结束符。例如,一个学生的学籍信息包含有学号、姓名和入学分数,可将其定义为一个结构体类型;
struct student
{
char id〔7〕;
char name〔10〕;
float score;
};
这样就定义了一个结构体类型student,它向编译系统声明:这是个结构体类型,它包括三个成员,一个是长度为7的字符类型id,用以表示学号;一个是长度为10的字符数组name,用以表示学生姓名;一个是单精度实型变量score,用以表示学生分数。
在C语言中,结构体成员只能是数据;C++为了适应面向对象的程序设计,对此加以扩充,其结构体成员既可以是数据成员,也可是函数成员。但由于C++提供了类(class)类型,一般情况下,不必使用带函数成员的结构体。
下面我们来说下结构体变量的引用和初始化
引用一个结构体变量有两种方式,通过结构体变量名或指向结构体变量的指针引用变量成员。
与之对应的标记形式也有两种,分别用运算符“.”和“->”表达。
{
数据成员说明列表
};
其中,struct为定义结构体类型的关键字,结构体类型名是用户定义的任何一个有效的标识符,它的作用就如同任何一个基本类型名,利用它能够定义具有该结构类型的变量或函数。数据成员说明列表是对其名成员的数据类型的说明,即:类型名 成员名。整个结构体类型定义必须用“;”作为结束符。例如,一个学生的学籍信息包含有学号、姓名和入学分数,可将其定义为一个结构体类型;
struct student
{
char id〔7〕;
char name〔10〕;
float score;
};
这样就定义了一个结构体类型student,它向编译系统声明:这是个结构体类型,它包括三个成员,一个是长度为7的字符类型id,用以表示学号;一个是长度为10的字符数组name,用以表示学生姓名;一个是单精度实型变量score,用以表示学生分数。
在C语言中,结构体成员只能是数据;C++为了适应面向对象的程序设计,对此加以扩充,其结构体成员既可以是数据成员,也可是函数成员。但由于C++提供了类(class)类型,一般情况下,不必使用带函数成员的结构体。
下面我们来说下结构体变量的引用和初始化
引用一个结构体变量有两种方式,通过结构体变量名或指向结构体变量的指针引用变量成员。
与之对应的标记形式也有两种,分别用运算符“.”和“->”表达。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询