025day(学习结构(struct))
来源:互联网 发布:三维全景图制作软件 编辑:程序博客网 时间:2024/06/05 21:15
172210704111-陈国佳总结《2017年11月4日》【连续025天】
标题:学习结构(struct);
内容:A.观看MOOC10.1;
B.可用“struct”来定义一个“结构”,就是定义了一个新的数据类型;
struct 结构名
{
类型名 成员变量名;
类型名 成员变量名;
.................
};
例: struct Student {
unsigned ID;
char szName[20];
float fGPA;
};
Student 即成为自定义类型的名字,可以用来定义变量;
Student s1,s2;
两个同类型的结构变量,可以相互赋值;
一般地,一个结构变量所占的内存空间的大小,就是结构中所有变量大小之和。且各个成员变量在内存中一般是连续存放;
如上文的Student变量为28字节(ID4字节,szName20字节,fGPA4字节)
一个结构的成员变量可以是任何类型的,包括另一个结构类型:
struct Date{
int year;
int month;
int day;
};
struct StudentEx{
unsigned ID;
char szName[20];
float fGPA;
Date birthday;
};
结构的成员变量可以是指向本结构类型的变量的指针
struct Employee {
string name;
int age;
int salary;
Employee *next;
};
访问结构变量的成员变量:
结构变量名.成员变量名
例:StudentEx stu;
cin>>stu.fGPA;
stu.ID=12345;
strcpy(stu.szName,"Tom");
cout<<stu.fGPA;
stu.birthday.year =1984;
unsigned int*p =&stu.ID; //p指向stu中ID成员变量
结构变量可以在定义时进行初始化:
StudentEx stu ={1234,"Tom",3.78,{1984,12,28}};
结构数组:
StudentEx MyClass[50] ={{1234,"Tom",3.78,{1984,12,28}},{1235,"Jack",3.25,{1985,12,23}}};
MyClass[1].ID =1267;
MyClass[2].birthday.year=1986;
int n=MyClass[2].birthday.month;
cin >>MyClass[0].szName;
定义指向结构变量的指针:
结构名*指针变量名;
通过指针,访问其指向的结构变量的成员变量;
指针->成员变量名 或: (*指针).成员变量名
例:StudentEx Stu;
StudentEx*pStu;
pStu =&Stu;
pStu->ID=12345;
(*pStu).fGPA=3.48;
cout<<Stu.ID<<endl;
cout<<Stu.fGPA<<endl;
明日计划:学习全局变量,局部变量,静态变量;
- 025day(学习结构(struct))
- 初步学习“C#中的结构(struct)”
- 初步学习“C#中的结构(struct)”
- Matlab 结构体(struct)学习
- 结构struct(2)
- C# 结构(Struct)
- 学习日记-C语言结构体(struct)
- C#学习日记09---数据类型 之 结构(Struct)类型
- 分支结构:(Day-2)
- 结构(struct)指针详解
- what day is today(分支结构)
- C结构体struct学习
- 结构体(Struct) 和 类(Class)
- 自定义泛型的结构(struct)
- Struct 结构体疑惑(c语言)
- 结构体(Struct) 和 类(Class)
- C# 中的结构类型(struct)
- 结构体struct简介(上)
- MT 203 Multiple General Financial Institution Transfer多笔一般金融机构转账
- Android学习之WebView基础
- redis常用的五种数据类型简单介绍
- 循序渐进AOP 04
- 数据结构第三次上机 第三章之链栈
- 025day(学习结构(struct))
- Java性能调优的11个实用技巧
- eclipse怎么把Java项目转换为web项目
- 对称加密和非对称加密
- NOIP2017赛前冲刺RoundA~D总结
- [arc076F]Exhausted?
- 不相交集合的数据结构-并查集
- Java基础——向上转型、向下转型
- linux系统分区管理