c 语言 Chapter11指针

内存 分割为字节(byte);每个字节 可以存储8位信息;01010011;
每个字节都有 唯一的地址(address) 字节信息(01010011)

地址 内容
0 0101011
1 01110101
2
3
4
..
..
..
n-1

可执行程序由 代码(与语句对应的机器指令), 数据(变量)构成;

程序中的每个变量占有一个或 多个内存; 把第一个字节的地址 作为变量的地址
变量 i占有地址为2000,2001的两个字节,所以变量i的地址是2000;

用数表示地址, 地址的取值范围不同于整数的范围,不能用 普通的整型变量存储地址

指针变量 存储地址 在用变量p存储变量i的地址时,p 指向i;

int *p; //p是(指向 int类型对象的) 指针变量

对象代替变量,p可以指向不属于变量的内存区域;
int *p;
double *q;
char *r;

取地址运算符; 间接寻址运算符;

为了找到变量的地址,需要& (取地址)运算符;如果x是变量,那么&x 就是x在内存中的地址;(已知变量,求地址 :&)

为了获得 指针指向对象的访问,使用 * 间接寻址运算符;如果p是指针,p表示 p当前指向的对象;(已知地址,求变量:

int *p, i;
p = &i; // 通过把i的地址赋给 指针变量的方法,把p指向了i;

int i;
int *p = &i;

合并: int i, *p = &i; //首先声明i

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值