一、定义常量:const关键字用于定义常量,这意味着该变量的值在程序运行期间不能被改变。
const int a = 10;
二、修饰指针:const关键字可以修饰指针,表示指针指向的内容是常量,不能通过该指针修改所指向的内容。
int b = 20;
const int *ptr = &b;
// *ptr = 30; // 这行代码会导致编译错误,因为ptr指向的内容是常量
此外,还可以修饰指针本身,使其指向的内容可变,但指针本身的值(即地址)不可变。
int c = 30;
int *const ptr2 = &c;
// ptr2 = &b; // 这行代码会导致编译错误,因为ptr2本身的值(即地址)是常量
三、修饰函数参数:当函数参数被声明为const时,它表示该参数在函数内部不能被修改。
void func(const int a) {// a = 10; // 这行代码会导致编译错误,因为a是const参数
}
四、修饰函数返回值:当函数返回一个指针时,可以使用const来保证该指针所指向的内容不会被修改。
const int *get_const_ptr() {int a = 40;return &a; // 返回的指针指向的内容是常量,不能被修改
}
五、修饰函数参数数组:当函数参数是数组时,可以使用const来保证数组的内容不会被修改。
void func(const int arr[]) {// arr[0] = 10; // 这行代码会导致编译错误,因为arr是const数组
}
六、修饰结构体成员:当结构体成员被声明为const时,它表示该成员在结构体实例化后不能被修改。
struct Example {const int a; // a是const成员,不能被修改
};