C语言指针是一种非常重要的数据类型,它可以存储一个变量的地址,通过指针可以访问和修改对应变量的值。使用指针可以方便地操作内存,特别是在处理数组和动态内存分配方面非常有用。以下是一些指针的基本操作:
- 定义指针:使用*符号定义指针变量,例如int *ptr;声明一个指向int类型变量的指针。
- 给指针赋值:可以将一个变量的地址赋值给指针变量,例如ptr = #,这里&num表示num变量的地址。
- 通过指针访问变量:可以使用*符号访问指针指向的变量的值,例如printf("%d\n", *ptr);将输出num的值。
- 修改指针指向的值:可以使用符号修改指针指向的变量的值,例如ptr = 2;将给num变量赋值为2。
以下是一个例题,演示如何使用指针来交换两个变量的值:
#include <stdio.h>
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int x = 10, y = 20;
printf("Before swapping: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("After swapping: x = %d, y = %d\n", x, y);
return 0;
}
在这个例子中,swap函数接受两个指向int变量的指针a和b,交换它们所指向变量的值。在main函数中,我们定义了两个int变量x和y,调用swap函数来实现它们的交换。注意如何通过&符号获取变量的地址,并如何将指针作为参数传递给函数。输出结果应该是:
Before swapping: x = 10, y = 20
After swapping: x = 20, y = 10