### C 语言指针详解
指针是 C 语言中的一种变量,它存储了另一个变量的地址。指针在 C 语言中是非常强大且
重要的工具,广泛用于数组、函数参数和动态内存管理等。
#### 指针基础
1. **定义指针**:
- 指针的定义包括数据类型和一个星号`*`符号。例如:
```c
int *ptr; // 定义一个指向整数的指针
```
- 这里,`ptr`是一个指向整数类型的指针。
2. **获取地址**:
- 使用`&`运算符可以获取一个变量的地址。例如:
```c
int a = 10;
int *ptr = &a; // ptr 存储变量 a 的地址
```
3. **访问地址的值**:
- 使用`*`运算符可以访问指针指向地址的值。例如:
```c
int a = 10;
int *ptr = &a;
printf("%d", *ptr); // 输出 10
```
#### 指针的应用
1. **指针和数组**:
- 数组名本身就是一个指向数组第一个元素的指针。例如:
```c
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 等同于 int *ptr = &arr[0];
printf("%d", *(ptr + 1)); // 输出 2
```
2. **指针和函数**:
- 指针可以作为函数参数,用于传递数组或修改函数外部变量。例如:
```c
void updateValue(int *p) {
*p = 20;