一、操作符的属性
复杂表达式的求值有三个影响的因素。
1.操作符的优先级
⒉操作符的结合性
3.是否控制求值顺序。
两个相邻的操作符先执行哪个?取决于他们的优先级。如果两者的优先级相同,取决于他们的结合性。操作符优先级
指针是什么?
在计算机科学中,指针( Pointer )是编程语言中的一个对象,利用地址,它的值直接指向( points to )存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针"。意思是通过它能找到以它为地址的内存单元。
指针是用来存放地址的,地址是唯一标示一块地址空间的。
指针的大小在32位平台是4个字节,在64位平台是8个字节。
那么如果都一样还需要类型吗?
窗口内存调试*pa确实指向a的地址11223344
然后我们将int改char后会发生什么
可以看到里面的44被改成了00
这说明只是类型发生了变化他们的访问权限就发生了变化
如果我是int类型解引用时访问了4个字节
如果我是char类型解引用时只访问了1个字节
例子2
如果是数组那么取地址会一样吗
结果是取到的地址都是相同的地址
第一个结果相同但是后面的结果不相同整型指针+1会+4(4个字节)跳过一个整型
而字符指针+1则会+1(1个字节)跳过一个字符型
总结
- 指针类型决定了:指针解引用的权限有多大
- 指针类型决定了,指针走一步,走多远(步长)
例子
此程序可以使每循环一次找到数组一个元素的地址因为都是相同的int类型,
每次+1都可以使跳过一个字节。