Luca琐记 结构

##结构
1.结构的声明

struct{
    int number;
    char name;
    int age;
}student1,student2;//名称加在最后,此时就是定义了两个有三个相同元素的结构体

2.初始化
对应传值
3.访问结构中的元素,如

student.age
student->age

4.因为是结构变量,故可以作为左值,可被修改,如student1.age++
5.&student1.age表示取student1.age的地址
6.可以整个结构进行赋值student2=student1,两结构要在同时声明
7.不可以运用==,!=运算结构
8.声明结构标记

struct student{
    int number;
    char name;
    int age;
};

此时student相当于一个结构标记,再次声明其他结构可以

struct student student1,student2;

等价于

typedef struct{
  int age;
  char name;
}student;

9.打印结构函数
在这里插入图片描述

10.结构作为函数返回值

struct student build_student{
  struct student st;//创造一个新的结构
  st.number=number;
  strcpy(st.name,name);
  st.age=age;//将st的每个元素初始化为student中的
  return st;
}

有了这个程序就可以在建立学生档案时调用函数创造一个独立的结构
11.定义指向整个结构的指针

struct student *struct_pointer;//指针类型必须是struct student

12.结构嵌套

struct student{
  struct student_birth birthday;//以结构标记定义一个与新的student_birth同类型的结构
  int age;
  char name;
}
//在这种定义下,birthday是空的结构,要对其赋值可以
student.birthday.year=2029;

13.结构数组
定义

struct student students[4];

访问

students[1].age=18;

初始化

struct student students[4]={
  [0]={,,},//注意是逗号
  [1]={,,},
  ...
};//作为一个语句结尾别忘了加;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值