什么是指针?
在 C 语言里,指针是一种特殊的变量,其存储的值是内存地址。简单来说,指针 “指向” 内存中的某个位置,借助指针能够直接访问和操作该内存位置的数据。
#include <stdio.h>
int main() {
int num = 10; // 定义一个整型变量
int *ptr; // 定义一个整型指针变量
ptr = # // 将变量 num 的地址赋值给指针 ptr
printf("变量 num 的值: %d\n", num);
printf("变量 num 的地址: %p\n", &num);
printf("指针 ptr 存储的地址: %p\n", ptr);
printf("指针 ptr 指向的值: %d\n", *ptr);
return 0;
}
在上述代码中:
int *ptr;
:定义了一个整型指针变量ptr
。ptr = #
:把变量num
的地址赋给指针ptr
。*ptr
:通过解引用操作符*
访问指针ptr
所指向的内存位置的值。
指针的重要性
指针在 C 语言中十分重要,主要体现在以下几个方面:
- 动态内存分配:借助指针能够在程序运行时动态分配和释放内存,像
malloc()
、calloc()
和free()
等函数都依赖指针来操作。 - 数组操作:数组名本质上是指向数组首元素的指针,利用指针可以更高效地操作数组。
- 函数参数传递:通过指针可以将变量的地址传递给函数,从而实现函数对外部变量的修改。