C 语言指针完全指南:创建、解除引用、指针与数组关系解析


让我们深入了解 C 语言中指针的创建、解除引用以及指针与数组之间的关系。

创建指针:

在 C 语言中,可以使用 * 符号声明指针变量,并将指针变量初始化为某个变量的地址。

#include <stdio.h>

int main() {
    int num = 10;
    int *ptr; // 声明指针变量
    ptr = &num; // 将指针变量初始化为 num 的地址

    printf("Address of num: %p\n", &num);
    printf("Value of ptr: %p\n", ptr); // 输出指针变量的值,即 num 的地址

    return 0;
}

解除引用:

解除引用操作使用 * 符号,用于访问指针所指向的内存地址上存储的值。

#include <stdio.h>

int main() {
    int num = 10;
    int *ptr = &num; // 声明指针变量并初始化为 num 的地址

    printf("Value of num: %d\n", num);
    printf("Value at address stored in ptr: %d\n", *ptr); // 解除引用并输出指针所指向地址的值

    return 0;
}

指针与数组关系解析:

在 C 语言中,数组名本身就是一个指针,它指向数组的第一个元素的地址。

#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int *ptr = arr; // 将数组名赋值给指针变量

    printf("Value of arr[0]: %d\n", arr[0]);
    printf("Value of *ptr: %d\n", *ptr); // 输出数组的第一个元素的值

    return 0;
}

在上面的例子中,arr 是一个数组名,它指向数组的第一个元素的地址,因此 *ptrarr[0] 的值相同。

注意事项:

  • 理解指针的概念和操作是 C 语言编程中的关键。
  • 在使用指针时,务必确保指针指向有效的内存地址,以避免引起不确定的行为。

以上是关于 C 语言指针的完全指南,包括创建指针、解除引用以及指针与数组之间的关系。熟练掌握指针操作将使你能够编写更灵活和高效的 C 语言程序。


原文链接:codingdict.net