[TwistedFate]结构体,结构体数组,typedef

1. 结构体

  关键字 struct

 struct 结构体名字(首字母大写){

 数据类型1 变量名1;

 数据类型2 变量名2;

.....

 };

//声明一个描述学生的结构体

//结构体中声明的变量一般叫做成员变量

struct Student {       // 注意两个变量之间用分号分隔
    char name[20];
    char sex;
   double number;
    float score;
    int age;
};             

  //定义一个结构体变量

    // struct结构体名 变量名 = {初值};

    //初值的顺序 需要跟声明时相同

匿名结构体:

struct{
 int num; 
char name[20]; 
char sex;
float score;
}stu1 = {1,”wukong”, ‘m’,99.5f},stu2 = {2, “bajie”, ‘m’, 65.0f}; 

     取出结构体中成员变量的值

    //结构体变量 . 成员变量 =

注意:变量的数据类型,变量以前全是数据类型

举例:结构体作为函数参数

void printStudent(structStudent stu);

//声明一个日期的结构体
struct Date{
    int year;
    int month;
    int day;
};
// 声明一个家庭成员的结构体
struct Family{
    char mother[20];
    char father[20];
};
// 需求:描述一个名字与出生年月日和家庭成员
// 结构体仲可以有其他结构体作为成员变量
struct Person{
    char name[20];// 结构体可以嵌套结构体
    Date day;
    Family family;

结构体变量可以直接进行赋值赋值的过程 是一个拷贝的过程

数组不能进行直接赋值 数组名字是首元素地址是常量 是程序运行期间不能改的

结构体在内存当中计算占多少字节:

1.计算的顺序由上自下依次计算

2.一个成员变量一个成员变量的计算

3.并且自动补齐为该结构体重所占最大字节的变量的字节数来进行补齐

:如果结构体中 最大的是float就按4的倍数补齐哦最大的是double就按8的倍数补齐

#pragma pack(1)// 取消结构体自动补齐

为类型起别名:

使用关键字 typdeof老名字 新名字

// 使用teypedef定义结构体
struct student { 
...
};
typedef struct student Student;
或者连在一起写
typedef struct student { 
...
}Student;


2.结构体数组

struct Student stu1 = {"Faker", 'x', 1, 100, 18};
  struct Student stu2 = {"Ryu",'x', 100, 60, 20};
struct Student stu3 = {"Wx",'x', 1, 95, 23};
struct Student studentArray = {stu1, stu2, stu3};


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值