| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /*
- * 示例13:指针(Pointers)
- * 功能:学习指针的基本概念和使用方法
- * 指针是 C 语言的核心特性,用于存储变量的内存地址
- */
- #include <stdio.h>
- int main() {
- // 声明一个普通变量
- int number = 100;
- // 声明一个指针变量,用于存储 int 类型变量的地址
- // * 表示这是一个指针,int* 表示指向 int 类型的指针
- int *ptr;
- // & 是取地址运算符,获取 number 的内存地址
- ptr = &number;
- // 输出变量的值和地址
- printf("number 的值:%d\n", number);
- printf("number 的地址:%p\n", &number);
- printf("ptr 存储的地址:%p\n", ptr);
- // * 是解引用运算符,通过指针访问它指向的变量的值
- printf("通过指针访问 number 的值:%d\n", *ptr);
- // 通过指针修改变量的值
- *ptr = 200; // 等价于 number = 200
- printf("修改后 number 的值:%d\n", number);
- // 指针的常见用途:在函数中修改外部变量
- printf("\n=== 通过指针交换两个数 ===\n");
- int a = 5, b = 10;
- printf("交换前:a = %d, b = %d\n", a, b);
- // 使用指针交换
- int temp;
- int *pa = &a; // pa 指向 a
- int *pb = &b; // pb 指向 b
- temp = *pa; // temp = a 的值
- *pa = *pb; // a = b 的值
- *pb = temp; // b = temp
- printf("交换后:a = %d, b = %d\n", a, b);
- return 0;
- }
|