C语言中的指针是非常重要的,因为它们是C语言的核心概念,直接关系到程序的性能和稳定性。以下是学习重点和程序示例:
1.指针的基本概念
- 指针是一个变量,存储的是另一个变量的内存地址。
- 指针的类型决定了它所指向的数据类型。
- 声明指针的语法:数据类型 *指针变量名;
2.指针的操作
- 取地址操作符 &:获取变量的地址。
- 解引用操作符 *:访问指针指向的值。
- 指针的算术运算:指针可以进行加减运算,移动指针的位置。
3.指针与数组
- 数组名是一个指向数组首元素的指针。
- 通过指针可以遍历数组。
4.指针与函数
- 指针可以作为函数参数,实现传址调用。
- 指针函数:返回指针的函数。
5.多级指针
- 指向指针的指针(如 int **pp)。
程序示例
示例 1:指针的基本使用
#include
int main() {
int a = 10;
int *p = &a; // p 指向 a 的地址
printf("Value of a: %d\n", a); // 输出: 10
printf("Address of a: %p\n", &a); // 输出: a 的地址
printf("Value of p: %p\n", p); // 输出: a 的地址
printf("Value pointed by p: %d\n", *p); // 输出: 10
*p = 20; // 通过指针修改 a 的值
printf("New value of a: %d\n", a); // 输出: 20
return 0;
}
示例 2:指针与数组
#include
int main() {
int arr[] = {1, 2, 3, 4, 5};
int *p = arr; // p 指向数组的第一个元素
for (int i = 0; i < 5; i++) {
printf("%d ", *(p + i)); // 通过指针访问数组元素
}
printf("\n");
return 0;
}