结构

廉价感情. 提交于 2020-02-28 22:26:56
    结构由**数目固定**的成员(又称域、项目、或元素)构成,**是由不同数据类型的数据组成的集合体**,各个成员可以具有**不同的数据类型**,包括基本类型和非基本类型。*一个结构变量在内存占有一片连续的存储空间,具有结构类型的特征。*

1

.定义结构

   结构类型是用户自定义的;

(1)定义结构类型的说明语句形式;
struct 标识符
{ 类型 成员1;
类型 成员2;

类型 成员n;
};(注意分号
例:
struct person
{ char name[10];
long code;
double salary;
};
(2)声明变量的方法
1.声明类型的同时声明变量
struct person
{ char name[10];
long code;
double salary;
} worker1,worker2,*emp;
2.声明类型后声明变量(灵活)
struct person
{ char name[10];
long code;
double salary;
} ;
person worker1,worker2,*enp;
说明变量的同时可以进行初始化
person worker={“Li",123456,3000.53}
3.直接声明结构类型变量(此时无结构类型标识符)
struct
{ char name[10];
long code;
double salary;
} ;
说明
一个结构的成员可以是另一个已定义的结构类型。

struct num
{ int a,b;};
struct book
{ int c;
num d;
};
2.

访问结构

(1)访问结构成员 结构变量.成员(用点运算符
struct weather //声明结构类型
{ double temp,wind;};
int main()
{ weather today; //声明结构类型变量
today.temp=2.1; //对结构变量成员赋值(访问结构变量成员)
today.wind=3.1;
cout<<today.temp<<endl; //按成员输出
return 0;
}
若输入结构类型变量
cin>>today.wind
(2)用指针访问结构变量的成员
结构指针->成员
结构指针).成员

struct person
{ char name[10];
long code;
double salary;
};
int main()
{ person pr1,p; //定义结构指针
p=&pr1; //取地址
strcpy((*p).name,“David Marat”);//对结构成员赋值
cout<<p->name<<endl;
return 0;
}
类型相同的结构变量可以整体赋值
注意:
“类型相同的变量”是指同一类型标识符说明的变量。

(3)结构数组
结构的元素类型为结构类型时,称为结构数组。
struct person
{ char name[20];
int cout;
};
int main()
{person leader[3]={“li”,0,“zhang”,0,“fun”,0};
int i;
for(i=0;i<3;i++)
cout<<leade[i].name<<endl;
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!