学习
错题
模考
我的
登录/注册/忘记密码
学习 / 指针 / 指针的含义
指针的含义
地址;& 与 *;指针变量里装什么
1. 指针存的是地址
变量放在内存里,每一格都有一个**地址**,像门牌号。普通变量 `n` 的盒子里装的是值;**指针变量**的盒子里装的是**另一个盒子的门牌号**。 ```c int n = 3; int *p; p = &n; ``` 读法:`p` 是「指向 `int` 的指针」。`&n` 是 `n` 的地址。赋值之后,`p` 记住了 `n` 在哪。 - `p` 本身是一个变量,里面是地址,不是 3 - `*p` 才是顺着地址找到的那个 `int`,这里是 3 - 定义写成 `int *p;`。`int* p`、`int * p` 都行,专升本常见 `int *p` 指针也要先定义再使用。没指向合法变量就去写 `*p`,结果不确定。改题时先看 `p` 有没有赋过地址。
2. & 取地址,* 间接访问
两个符号对着记: - `&`:**取地址**。`&n` 是变量 `n` 在哪里 - `*` 用在指针前面:叫**间接访问**。`*p` 是 p 所指的那个变量 ```c int n = 3, m; int *p = &n; m = *p; /* m 变成 3,相当于 m = n */ *p = 10; /* n 变成 10 */ ``` 定义里的 `*` 和用的时候的 `*` 不是一件事: - `int *p;` 是在**定义**一个指针 - `*p = 10;` 是顺着 p **改**那个 int `&` 和 `*` 互为逆运算:`*&n` 还是 `n`。不要写 `&&n`。比较时:`p` 和 `&n` 比的是地址,`*p` 和 `n` 比的是值。
开始练习
返回指针
登录
注册
忘记密码
点击此处输入用户名
点击此处输入密码
登录
点击此处输入用户名
点击此处输入密码
点击此处输入邮箱
发送验证码
点击此处输入验证码
点击此处输入邮箱
发送验证码
点击此处输入验证码
点击此处输入新密码