c 语言 Chapter11指针

来源:互联网 发布:戒掉手机知乎 编辑:程序博客网 时间:2024/05/21 06:24

内存 分割为字节(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
原创粉丝点击