温馨提示×

如何在C语言中使用const修饰数组指针

小樊
94
2024-09-19 22:30:23
栏目: 编程语言

在C语言中,使用const修饰数组指针时,表示指针指向的地址是常量,即不能通过该指针修改其指向的内容。但是,需要注意的是,const修饰数组指针并不会影响数组本身的可变性。下面是一个示例:

#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    const int (*ptr)[5] = arr; // 使用const修饰数组指针

    printf("原始数组:\n");
    for (int i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    // 下面的代码将无法通过编译,因为不能通过const数组指针修改数组内容
    // (*ptr)[0] = 10; // 错误:不能在const指针上解引用并修改其指向的内容

    printf("通过指针访问数组元素:\n");
    for (int i = 0; i < 5; i++) {
        printf("%d ", *(*ptr + i));
    }
    printf("\n");

    return 0;
}

在这个示例中,我们定义了一个整数数组arr和一个指向数组的指针ptr,并使用const修饰了ptr。这样,我们可以通过ptr访问数组的内容,但不能通过ptr修改数组的内容。

0