从零开始学习C语言日记——DAY31指针-操作符优先级补充

一、操作符的属性

复杂表达式的求值有三个影响的因素。

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个字节)跳过一个字符型

总结

  1. 指针类型决定了:指针解引用的权限有多大
  2. 指针类型决定了,指针走一步,走多远(步长)

例子

 

此程序可以使每循环一次找到数组一个元素的地址因为都是相同的int类型,

每次+1都可以使跳过一个字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值