C语言指针是一种非常重要的数据类型,它可以存储一个变量的地址,通过指针可以访问和修改对应变量的值。使用指针可以方便地操作内存,特别是在处理数组和动态内存分配方面非常有用。以下是一些指针的基本操作:

  1. 定义指针:使用*符号定义指针变量,例如int *ptr;声明一个指向int类型变量的指针。
  2. 给指针赋值:可以将一个变量的地址赋值给指针变量,例如ptr = #,这里&num表示num变量的地址。
  3. 通过指针访问变量:可以使用*符号访问指针指向的变量的值,例如printf("%d\n", *ptr);将输出num的值。
  4. 修改指针指向的值:可以使用符号修改指针指向的变量的值,例如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