C语言——const函数

2023-12-15 21:40:33

一、定义常量: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成员,不能被修改
};


七、修饰类成员:在C++中,可以使用const来修饰类的成员函数,表示该成员函数不能修改类的任何成员变量(除非它们被声明为mutable)。

文章来源:https://blog.csdn.net/W_Fe5/article/details/135023958
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。