C++关于链表的复习(指针&结构体)

指针

指针变量

*存放 目标变量地址 的变量

初始化:

目标变量类型名星号+指针变量名1赋值符取地址符+目标变量名
int*p=&a12

对*p的操作等同于对a1的操作

对p的操作只是对 **存放地址变量的值(也就是a1的地址)**的操作

不是对a1值的操作

注意:

  • 对p进行算数运算并不等同于变量的算数运算。其运算结果取决于目的变量的类型。

例如,a2是short 为短整型,大小为2字节。所以short *p2 = &a2,对p2+1其实是p2的值+2

同样,int型大小为四个字节,+1则是变量的值+4

  • 目标变量不同的指针不能相互赋值
  • 指针的赋值必须是地址

补课:枚举类型

定义:自定义一个数据类型,其中,这个数据类型的值是固定的,可以枚举完毕。

有了这个类型之后,可以用这个类型来初始化变量

格式:

  • 定义类型
关键字数据类型名中括号类型值/枚举元素(这里看作常量)中括号
enumweekday{sun,mon,tue,wed,thu,fri,sat};
  • 定义变量
数据类型名变量名赋值符类型值3
weekdayday1=mon;

注意:

  • 枚举类型只能进行关系运算
  • 枚举类型值具有默认值:0,1,2,3…
  • 如果要对枚举类型值进行改变只能在定义类型的时候进行赋值改变

如:enum weekday {sun = 7,mon = 2,tue,wed,thu,fri,sat};但是我不知道这么干有什么意义

  • 枚举类型的默认值是int,所以存储的时候也是按照int进行存储的,因此给其中每个变量分配的是4个字节的存储空间。

结构类型(结构体)

格式:

  • 定义类型:
关键字结构体类型名中括号数据类型n 成员名n;中括号分号
structstudent{long num;//学号
char name;//姓名
char sex;//性别
int age;//年龄
float score;//分数};
  • 定义变量:
结构体类型名变量名分号
students1;

注意:

  • student是类型,s1是这种类型的变量

  • 结构类型中变量的访问需要通过 . 来访问。

例如:给s1中的num赋值:

s1.num = 162202203;


  • 变量初始化:

**1.**可以直接在定义变量的时候初始化

结构体类型名变量名中括号中括号分号
students2{162202203,“Lily”,“girl”,20,100.0};

**2.**也可以定义变量之后,用 . 运算符挨个访问赋值

student s3;
s3.num = 162202203;
s3.name = "Lily";

注意:

  • 同一结构类型中,类型相同的变量之间可以赋值。
  • 不同结构类型的变量,哪怕类型相同,也不能进行相互赋值。

  1. 注意,此处指针变量名不需要和目标变量一致 ↩︎

  2. 也可以是0或者是null,表示空指针。 ↩︎

  3. 这里的类型值只能是weekday定义的类型值,不能超出范围 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值