指针变量的运算
指针变量不能相加,不能相乘,不能相除,只能相减
如果两个指针变量指向的是同一块连续空间中的不同存储单元,则这两个指针变量才可以相减
一个指针变量占用几个字节?
sizeof(数据类型) 返回值就是该数据类型所占用的字节数
例子:sizeof(int) = 4 sizeof( char ) = 1
sizeof(变量名) 功能:返回值是该变量所占的字节数
假设p指向char类型变量(1个字节)
假设q指向int类型变量(4个字节)
假设r指向double类型变量(8个字节)
p q r 本身所占的字节数是否一样?
答案:p q r本身所占的字节数是一样的。
总结:
一个指针变量,无论它指向的变量占几个字节,该指针变量本身只占4个字节。(跟地址线的个数是相呼应的)。因为指针变量本身保存的是一个地址,而这个地址的位数最多也就32位(32位的机子),所以4个字节乘以8位,就是32位了,正好能够满足存放一个最大地址的需要。
一个变量的地址使用了该变量首字节的地址来表示的。指针变量是通过数据类型和首字节的地址拿出的所有数据 *p
来源:oschina
链接:https://my.oschina.net/u/1423209/blog/545570