C语言之结构体

  1. 结构体
    1.  概念

                   一类相关事物属性的集合,是一种自定义的数据类型

  1. 1 定义

struct 结构体名

{

        属性1;

        属性2;

        ......

        属性n;

};

描述一个人的姓名、年龄

struct people

{

        char name[20];//姓名

        int age;//年龄

};

定义了一个结构体,结构体的数据类型为(struct people)struct 结构体名

  1. 2初始化

int a =10;//初始化  数据类型 变量名 =  初值;

int a;

a = 10;//赋值

数据类型 变量名 = {............};

struct people pe = {“zhangsan”,18};

         1.2

访问

  1. 通过结构体变量来访问
    ​
      1 #include<stdio.h>
      2 struct student                                                      
      3 {
      4     char name[20];
      5     int age;
      6 };
      7 int main(void)
      8 {
      9     //初始化一个结构体变量
     10     struct student stu = {"zhangsan",18};
     11     printf("name = %s\n",stu.name);
            printf("age = %d\n",stu.age);
     22     return 0;
     23 }
    
    ​

  2. 通过结构体指针来访问

    ​
      1 #include<stdio.h>
      2 struct student                                                      
      3 {
      4     char name[20];
      5     int age;
      6 };
      7 int main(void)
      8 {
      9     //初始化一个结构体变量
     10     struct student stu = {"zhangsan",18};
     11     //定义一个结构体指针
     12     //数据类型 结构体变量名
     13     struct student *p = NULL;
     14     p = &stu;
     15     //访问
     16     //结构体变量名.成员
     17     printf("name = %s\n",(*p).name);
     18     printf("age = %d\n",(*p).age);
     19     //结构体指针变量去访问
     20     printf("name = %s\n",p->name);
     21     printf("age = %d\n",p->age);
     22     return 0;
     23 }
    
    ​

指针变量名->成员

整型指针:指向整型的指针

数组指针:指向数组的指针

结构体指针:指向结构体的指针

数据类型 *指针变量名;

struct people * p = NULL;   sizeof(p) = 4byte

    1. 字节对齐

一次性分配多少个字节

自然对齐方式(32OS):

int:4字节对齐

short:2字节对齐

float:4字节对齐

double:占8个字节,分配的时候还是按4字节分配,分配两次

char:1字节对齐

选成员中最大的那个对齐


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值