day12 笔记

基本数据类型:
    1.整型     int
    2.浮点型
    3.字符型
    4.泊尔类型
        #include <stdbool.h>
        bool isJs;
    5.枚举类型
构造数据类型
    1.数组:
    2.结构体
    学生
    姓名:字符串
    性别:字符 ‘J’ 'L'
    年龄:整型
    成绩:浮点型
    3.共用体

1.结构体数据类型的定义 
    struct 结构体类型名
    {
        数据类型1 变量1;
        数据类型2 变量2;
        数据类型3 变量3;
        ...
        数据类型n 变量n;
    }
    
    struct student
    {
        char name[32];
        char sex;
        int age;
        float score;
    };
  
  注意事项:1.嵌套定义
            struct A
            {
                struct A b;
                int a;
            };
            
            struct A
            {
                struct A *p;
                int a;
            };
            
            struct B;
            struct A
            {
             struct B *p;
                 int i;                                                                                                                                                       
            };
             
            struct B
            {
                 struct A *p;
                 float f;
            };
    typedef:定义一个类型别名
    typedef 类型名 类型别名;
    
    typedef int a;
    typedef int (* pArry_t)[10] ;
    int (* p)[10];
    int arry [5];
    pArrt_t p;
2.结构体数据类型的变量定义
    struct 结构体类型名 变量名;
    类型别名 变量名;
    struct student stu0, stu1;
    struct student
    {
       char name[32];
       char sex;
       int age;
       float score;
    }stu4, stu5;
3.结构体数据类型变量的初始化
    1.全部初始化
        stu_t stu2 = {"zhangsan", 'J', 28, 59.9};
        struct datetime dt0 = {{2023, 11, 8},{14, 23, 30}}; 
    2.局部初始化
     struct datetime dt1 = {
         {
             .year = 2023,
             .day = 8
         },
         {
             .hour = 14,
             .sec = 30
         }
     };
 4.结构体数据类型变量的访问
    通过结构体变量名访问结构体内部成员变量时“.”(结构体成员运算符);
    通过指向结构体变量的指针访问结构体内部成员变量时“->”(指向结构体成员运算符);
 5.重点 
    内存对齐原则:1. 结构体的成员变量分配在内存中的起始地址一定是自身基本数据类型整数倍的地址编号;
                  2. 结构体的大小必须是自身最大数据成员的整数倍
                  3. 32位 4字节对齐, 64位 8字节对齐
                  4. 强制n字节对齐
                    #pragma pack(n)
 6.结构体类型函数传参:
    1.结构体类型变量;
    2.结构体类型指针;
    3.结构体类型数组;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值