结构体的基础知识

1、结构体类型的概念及定义

结构类型

不是基本类型也不是指针,他是若干相同或不同类型数据的集合。

常用的结构类型有数组、结构体、共用体

数组是具有相同类型数据的集合,用于处理大量相同类型的数据运算。

结构体用于将不同类型的数据结合到一起,以便引用。

2.定义方法

2.1先声明结构体类型,再去定义结构体变量

1)第一步:声明结构体类型

struct 结构体类型名
{
    成员列表
};

2)第二步:定义结构体变量

Struct 结构体类型名 结构体变量1,结构体变量2,结构体变量3;

struct news
    {
        int id;
        char sex[20];
        char name[20];
        long long tel;
        long long qq;
        char add[20];
   };
    struct news stu01,stu02,stu03;

定义结构体类型时,不分配空间

定义结构体变量后,才分配空间

3.初始化结构体变量

①在定义结构体变量之前,必须新定义结构体类型,然后再定义变量

②在定义结构体变量时,可以顺便给结构体变量赋初值,称为初始化

③结构体变量初始化时,各个成员顺序初始化

//初始化方法一
struct stu_info
{
        int id;
        char name[20];
        int age;
        char add[20];
}stu01={1001,"张三",23,"西安"};
//初始化方法二
struct stu_info
{
        int id;
        char name[20];
        int age;
        char add[20];
};
    struct stu_info stu01; //stu01是结构体变量名 
    //初始化结构体变量
    stu01.id=1001;
    strcpy(stu01.name,"无状");
    stu01.age=22;
    strcpy(stu01.add,"西安爱你");
int main()
{
        test_stu();
        return 0;
 } 

4.结构体嵌套

void test1(void)
{
        struct birth
        {
                int year;
                int month;
                int day;
        };
        struct news
        {
                int id;
                char *sex;
                char *name;
                long long tel;
                long long qq;
                char *add;
                struct birth bir;
        }stu01={1111,"办性人","找妆",18235995,22832778,"西安"};
        struct news stu02={1112,"半兽人","学委",15225330,22937634,"河南"};
        stu01.bir.year=1899;
        stu01.bir.month=02;
        stu01.bir.day=30;
        
        stu02.bir.year=1899;
        stu02.bir.month=02;
        stu02.bir.day=30;
        printf("stu01.id=%d\n",stu01.id);
        printf("stu01.sex=%s\n",stu01.sex);
        printf("stu01.name=%s\n",stu01.name);
        printf("stu01.tel=
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值