一:单目操作符
(1)&操作符:
使用方式:
每一次运行地址都会不一样。因为每一次运行都会重新开辟空间。而a占四个四节,上面代码取a地址其实是取a第一个字节的地址。
(2)sizeof操作符:
sizeof是计算a所占内存的大小,单位是字节。a是int类型,占4个字节,因此把上述代码打印出来的话为4。
sizeof里面也可以直接输入数据类型,例如sizeof(int),但是要对这个数据类型进行创建开辟空间,不然只是一个字符类型,打印不出东西。
sizeof如果括号里面的值是变量的话,可以把括号去掉。但是如果括号里面是数据类型,则括号不可以省略。因此也可以看出sizeof是操作符。不是函数。
如果sizeof里面存放的是地址,那么不管是int,还是char最后得出来的结果不是4就是8。如果编译器是32位环境,那么打印出来则全是4。否则为8。
(3)~运算符(对一个数的二进制按位取反):
如果想要把一个数的二进制补码的0变成1:
把我们想改变的值按位或1就行,想改变哪一位就可以把1向左移动几位。
但是想把1变成0就需要用到 ~ 运算符了,方法:
把1用 ~ 运算符,然后按位或,想改变哪一位就向左移动哪一位。
二:逻辑操作符
注意事项:
计算这种逻辑操作符表达式是从左往右进行运算。如果有&运算符,第一个数是假后面的就可以全部不用算了。如果有 | 运算符,如果第一个数为真,那么就为真,后面就不用算了。
三:下标引用操作符:
因为 [ ] 操作符,可以把操作数进行交换,就像3+5跟5+3是一样的,但是不建议这样写。