18.09.09-《C和指针》学习笔记-第六章-指针

1、内存和地址

(1)边界对其:在要求边界对齐的机器上,整型值存储的起始位置只能是某些特定的字节,通常是2或4的倍数。

(2)内存中的每个位置由一个独一无二的地址标识。

(3)内存中的每个位置都包含一个值。

(4)下面显示了5个整数,使用名字来代替地址,这些名字就是我们所称的变量,并且每个都位于自己的字中。

这些变量给了我们一种方便的方法记住地址,但是硬件仍然通过地址访问内存位置。

2、指针变量的内容

(1)指针的初始化是用&操作符完成的,它用于产生操作数的内存地址。

(2)变量的值就是分配给该变量的内存位置所存储的数值。

 

当一个指针和一个整数量执行算数运算时,整数在执行加法运算前始终会根据合适的大小进行调整。这个“合适的大小”就是指针所指向类型的大小,“调整”就是把整数值和“合适的大小”相乘。

如果两个指针都指向同一个数组中的元素,那么他们可以执行>/>=/</<=等关系运算,用于判断它们在数组中的相对位置。

3、NULL指针

它作为一个特殊的指针变量,表示不指向任何东西。

4、指针、间接访问和左值

指针变量作为左值,并不是因为它们是指针,而是因为它们是变量。对指针变量进行间接访问表示我们应该访问指针所指向的位置。

指针加上一个整数的结果是另一个指针。

通过一个指针访问它所指向的地址的过程称为间接访问(indirection)或解引用指针(dereferencing the pointer)。用于执行间接访问的操作符是单目操作符*。 执行间接访问的操作记法常用下图表示。箭头起始于方框内部,因为它表示存储于该变量的值。同样箭头指向一个位置,而不是存储于该位置的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值