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

avatar
作者
筋斗云
阅读量:0

在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修改数组的内容。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!