结构体-day15

总结:

数据类型:
基本数据类型
  整型 
  浮点型
  字符型 
构造类型
  数组类型 
指针类型
void类型

1,

为了更好的描述 tom --学校的一个学生 

能不能 有一种数据类型 专门来描述学生这种数据 

结构体 struct 

描述一些 原先 基本数据类型不好描述的 这种复杂数据类型 

eg:
struct 学生
{
   //1.姓名   //chat name[20] 
   //2.班级   //int classNo
   //3.性别   //char sex; //f m 
   //4.成绩   //float score;
   //5.年龄   //int age;

eg:

struct 汽车 
{
   //1.姓名   //chat name[20] 
   //2.班级   //int classNo
   //3.性别   //char sex; //f m 
   //4.成绩   //float score;
   //5.年龄   //int age;
}
 

语法:
struct 结构体类型名
{
   数据成员列表;
};
定义了一个 "数据类型"  --- 用户自定义的数据类型

eg:

描述学生这种类型:
struct student
{
   //name 
   char name[20]; //成员变量  各个成员变量之间 用分号隔开
   //age
   unsigned char age;//0~255 -128~127
   //score
   float score;
   //...
}; //注意: 最后这个分号(;) 表示 --- 结构体类型定义

注意:
1.结构体 --- 用来实现 自定义数据类型 
2.用结构体 
  a.先构造出 数据类型 
  b.用数据类型 定义变量 
               数组
               指针 
               

访问结构体:
  . //结构体成员运算符 
  
 结构体变量名.成员变量名  
2,

构体变量初始化 
结构体变量赋值 --结构体不能整体 赋值  {"tom",20,89.5,100}; 

struct student s;
s = {"tom",20,89.5,100}; //

int a = 10; //初始化 
int a;    //赋值 
a = 10;


-> //用于结构体类型的指针变量的 
   //结构体访问成员的方式2 
   //
struct student *s = &s1;
s->name 


结构体类型的变量.成员变量名 
结构体类型的指针->成员变量名

3,

 结构体的对齐规则:
1.在32位的平台上,默认都是按4字节对齐的。  64位的平台 默认是8字节
2.对于成员变量,
   各自在自己的自然边界上对齐。
//整个结构体的对齐 
3.如果 成员变量中有比4字节大。  
  此时 整个结构体按照4字节对齐。  //32位的平台
4.如果 成员变量中没有有比4字节大。
  此时 整个结构体按照最大的那个成员对齐。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值