目录
[直接访问 .成员名](#直接访问 .成员名)
[间接访问 结构体指针->成员名](#间接访问 结构体指针->成员名)
逗号表达式
exp1, exp2, exp3, ...expN
运算规则 :从左向右依次执⾏。整个表达式的结果是最后⼀个表达式的结果。
如图c的值为逗号表达式中b=a+1的结果。

下标访问[]
[ ] 下标引⽤操作符
操作数:⼀个数组名 + ⼀个索引值
int arr[10];
arr[6] = 10;
例子中[ ]的两个操作数是arr和6
函数调⽤()
函数调⽤操作符 接受**⼀个** 或者多个操作数 :第⼀个操作数是函数名 ,剩余的操作数就是传递给函数的参数。
sizeof
sizeof是操作符,不是函数
如图,使用sizeof可以不加()

结构成员访问操作符
结构体
结构体为自定义类型,用来描述复杂对象,构成结构体的每个成员可以是不同的变量类型,如标量、指针、数组等。
结构体声明
struct tag
{
member - list;//成员列表,可以1个或多个成员
}variable - list;//变量列表
直接访问 .成员名
如图初始化结构体stu
使用直接 结构体访问操作符**.成员名**可以不按照顺序初始化
打印结构体成员内容: 结构体变量.成员

间接访问 结构体指针->成员名
打印结构体成员内容: 结构体指针->成员

操作符的属性:优先级、结合性
优先级:相邻 操作符,优先级高的先执行。
结合性:当优先级一样 时,大部分是左结合(从左向右执行)
• 圆括号( () )
• ⾃增运算符( ++ ),⾃减运算符( -- )
• 单⽬运算符( + 和 - )
• 乘法( * ),除法( / )
• 加法( + ),减法( - )
• 关系运算符( < 、 > 等)
• 赋值运算符( = )
由于圆括号的优先级最⾼,可以使⽤它改变其他运算符的优先级。
整形提升
意义
方便cpu运行计算, 因为cpu一般是计算int 的字节长度。因此两个char或short 类型相加都必须先转换为**int或unsigned int,**然后才能到cpu中计算
方法
1.有符号整数 提升按照变量的数据类型的符号位来提升
2.无符号整数 提升,高位补0
举例解释
char类型的取值范围-128~127
char占用1个字节,1字节=8bit位
vs中char默认为有符号的char
00000000000000000000000001111101 char c1 = 125;
01111101 c1 发生截断
char c2 = 10;
00000000000000000000000000001010
发生截断
00001010 c2
char c3 = c1 + c2;
整型提升
00000000000000000000000001111101 c1
00000000000000000000000000001010 c2
00000000000000000000000010000111 c3
发生截断
10000111 c3
整型提升
11111111111111111111111110000111 c3的补码
10000000000000000000000001111000 c3的反码
10000000000000000000000001111001 c3的原码 -121