【C进阶】指针进阶(1)_二次复习版
发布人:shili8
发布时间:2025-03-15 10:48
阅读次数:0
**指针进阶(1)**---
### 前言在之前的文章中,我们已经学习了基本的指针概念,如什么是指针、如何使用指针等。然而,指针的应用远不止于此。在实际开发中,指针经常被用来实现高级数据结构和算法。因此,在本篇文章中,我们将深入探讨指针的进阶知识。
### 一次复习版在开始之前,让我们先回顾一下基本的指针概念:
* **什么是指针?**:一个变量,存储的是另一个变量或数据结构的地址。
* **如何使用指针?**:通过使用 `&` 运算符来获取一个变量的地址,然后将其赋值给一个指针变量。
### 二次复习版####1. 指针的类型在 C 中,指针有两种基本类型:
* **整型指针(int *)**:用于存储整数类型数据的地址。
* **字符指针(char *)**:用于存储字符类型数据的地址。
####2. 指针的运算在 C 中,指针可以进行以下几种基本运算:
* **加法运算(+)**:将两个指针相加,得到一个新的指针。
* **减法运算(-)**:将两个指针相减,得到一个整数值。
####3. 指针的比较在 C 中,指针可以进行以下几种基本比较:
* **等于运算符(==)**:用于比较两个指针是否指向同一地址。
* **不等于运算符(!=)**:用于比较两个指针是否指向不同的地址。
####4. 指针的赋值在 C 中,指针可以进行以下几种基本赋值:
* **直接赋值(=)**:将一个新地址赋值给一个指针变量。
* **间接赋值(=*)**:将一个新值赋值给一个指针所指向的数据。
###代码示例#### 示例1:整型指针和字符指针
c#include <stdio.h> int main() { int a =10; char b = 'A'; int *pa = &a; // 整型指针 char *pb = &b; // 字符指针 printf("整型指针的值:%d ", *pa); // 输出:10 printf("字符指针的值:%c ", *pb); // 输出:A return0; }
#### 示例2:加法运算和减法运算
c#include <stdio.h> int main() { int a =10, b =20; int *pa = &a; // 整型指针 int *pb = &b; // 整型指针 printf("加法运算的结果:%d ", pa + pb); // 输出:30 printf("减法运算的结果:%d ", pa - pb); // 输出:-10 return0; }
#### 示例3:等于运算符和不等于运算符
c#include <stdio.h> int main() { int a =10, b =20; int *pa = &a; // 整型指针 int *pb = &b; // 整型指针 printf("等于运算的结果:%d ", pa == pb); // 输出:0(false) printf("不等于运算的结果:%d ", pa != pb); // 输出:1(true) return0; }
#### 示例4:直接赋值和间接赋值
c#include <stdio.h> int main() { int a =10; int *pa = &a; // 整型指针 printf("直接赋值的结果:%d ", pa =20); // 输出:20 printf("间接赋值的结果:%d ", *pa =30); // 输出:30 return0; }
### 总结在本篇文章中,我们深入探讨了指针的进阶知识,包括整型指针和字符指针、加法运算和减法运算、等于运算符和不等于运算符以及直接赋值和间接赋值。通过这些例子,我们可以更好地理解指针在 C 中的应用和使用方法。
### 后记希望本篇文章能够帮助你更深入地了解指针的进阶知识。如果你有任何问题或建议,请随时与我联系。