在C语言中,const
关键字用于声明一个常量,即其值在程序运行期间不能被修改。当const
关键字与数组一起使用时,它可以应用于数组的元素、整个数组或数组的指针。以下是const
关键字在C语言数组中的一些应用场景:
- 声明数组元素为常量:
const int arr[] = {1, 2, 3, 4, 5};
在这个例子中,数组的元素被声明为常量,这意味着你不能通过指针间接修改它们的值。然而,你仍然可以改变数组的大小(通过重新分配内存)。
- 声明整个数组为常量:
const int arr[] = {1, 2, 3, 4, 5}; const int *ptr = arr;
在这个例子中,整个数组被声明为常量,这意味着你不能改变数组的大小或内容。指针ptr
指向数组的首元素,但不能通过ptr
修改数组的值。
- 声明数组指针为常量:
int arr[] = {1, 2, 3, 4, 5}; const int *ptr = arr;
在这个例子中,数组指针被声明为常量,这意味着你不能改变指针的值(即不能让它指向另一个数组)。然而,你可以通过指针修改数组的值。
需要注意的是,当const
关键字应用于数组时,它只限制了数组的可修改性,而没有限制数组的大小。要改变数组的大小,你需要使用动态内存分配函数(如malloc
、calloc
或realloc
)。