3)先定义结构体类型再定义变量名 struct结构体名 成员表列 ; struct结构体名变量名;或结构体名变量名; 例: struct student Ichar num[10l char name 201; char sex: int age; float score 5];3 student stl st2 /声明2个结构体变量 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 11 ⑶先定义结构体类型再定义变量名 struct 结构体名 { 成员表列; }; struct 结构体名 变量名; struct student {char num[10]; char name[20]; char sex; int age; float score[5]; } struct student st1,st2; //声明2个结构体变量 例: 或 结构体名 变量名; student st1,st2;
注意:一个结构体变量占用内存的实际大小,可以利用 sizeof结构体变量类型)运算求出。 B]: #include <iostream. h> struct st char ch int i: t f. 对于结构体变量st1在内存中占多少个字节呢?由前所 学的知识可知它应占9个字节。但在C++语言中,系统通常为 结构体对象分配整数倍大小的机器字长(4个字节),所以 st1实际占12个字节。此时,ch成员也占4个字节,但仅第 个字节被用,后面的3个字节未用。 C++程序设计课件设计制作:徐龙琴 12
C++程序设计课件 设计制作:徐龙琴 12 注意:一个结构体变量占用内存的实际大小,可以利用 sizeof(结构体变量类型)运算求出。 #include <iostream.h> struct st { char ch; int i; float f; }st1; void main( ) { cout<<sizeof(st1); } 例: 对于结构体变量 st1在内存中占多少个字节呢?由前所 学的知识可知它应占9个字节。但在C++语言中,系统通常为 结构体对象分配整数倍大小的机器字长(4个字节),所以 st1实际占12个字节。此时,ch成员也占4个字节,但仅第一 个字节被用,后面的3个字节未用
2结构体变量的初始化 结构体变量的初始化:是指在定义结构体变量的同时给结构 体变量赋初值。 初始化的方式有两种:①用花括号{}括起来的若干成员值对 结构体变量初始化; ②用同类型的结构体变量对其初始化 例: struct student i char num[ 10 char name 201; l 下面对结构体变量的初始化语句都是正确的。 Struct student st1=(001", "Wangfang", f, 18, 96, 86, 883; @ struct student st2=st1 C++程序设计课件设计制作:徐龙琴 13
C++程序设计课件 设计制作:徐龙琴 13 ⒉结构体变量的初始化 结构体变量的初始化:是指在定义结构体变量的同时给结构 体变量赋初值。 初始化的方式有两种:①用花括号{ }括起来的若干成员值对 结构体变量初始化; ②用同类型的结构体变量对其初始化。 例:struct student { char num[10]; char name[20]; char sex; int age; float score[3]; }; 下面对结构体变量的初始化语句都是正确的。 ①struct student st1= {"001","Wangfang",'f',18,{96,86,88}}; ②struct student st2=st1;
3结构体变量及其成员的的使用形式 结构体变量是不同数据类型的若干数据的集合体。在程 序中使用结构体变量时,一般情况下不能把它作为一个整体 参加数据处理,而参加各种运算和操作的是结构体变量的各 个成员项数据 )使用结构体成员的格式为 结构体变量.成员名 符号“”称为成员运算符(也称为点运算符): ■其作用是引用结构体变量中的某个成员。 ■其优先级与下标运算符的优先级相同,是所有运算符优 先级中最高的。 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 14 ⒊结构体变量及其成员的的使用形式 结构体变量是不同数据类型的若干数据的集合体。在程 序中使用结构体变量时,一般情况下不能把它作为一个整体 参加数据处理,而参加各种运算和操作的是结构体变量的各 个成员项数据。 符号“.”称为成员运算符(也称为点运算符) : 其作用是引用结构体变量中的某个成员。 其优先级与下标运算符的优先级相同,是所有运算符优 先级中最高的。 ⑴使用结构体成员的格式为: 结构体变量. 成员名
在定义了结构体变量后,就可以用不同的赋值方法对结构体 变量的每个成员赋值。 例: struct student i char name 201; char sex: Int age; float score; SstI strcpy(stl. name, "Zhang San); st1 sev=r 引用结构体变量的首地址用:&st1 引用结构体变量成员的地址用:&st1.name; 引用结构体变量成员的第二个字符用:st1.name[]; C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 15 在定义了结构体变量后,就可以用不同的赋值方法对结构体 变量的每个成员赋值。 struct student { char name[20]; char sex; int age; float score[3]; }st1; strcpy(st1 .name,”Zhang San”); st1.sex=’m’; st1.age=20; : : 例: 引用结构体变量的首地址用:&st1 引用结构体变量成员的地址用:&st1.name; 引用结构体变量成员的第二个字符用:st1.name[1];