const关键字

发布时间:2024年01月22日

?修饰常量

const int a = 10;
int const a = 10;

常量指针

以下两种方式等价

const int *a;
int const *a;

常量指针说的是不可以通过指针改变指向内容的值,但是可以重新指向新的地址, 因此一般用作函数参数,防止内部通过指针地址中保存的值void test(int const * val)。

指针常量

不能改变指针指向,但是可以通过指针改变指向地址中的值。

如果指针常量作为函数参数,那么函数内部不能修改参数的指向,但是可以修改通过指针指向的值

指针常量在window编译器中可以修改const(现在这个应该还是在内存中),但是在keil中是不可以修改的,我们知道keil的常量是写在flash里面的

区别指针常量和常量指针,在*左边表示不能修改指向地址中的值,在*右边表示不能修改指向的地址。

指针常量和常量指针结合使用

如果将指针常量和常量指针结合使用const int * const a, 那么就都不能进行修改了

常量指针作为函数返回值

作为返回值,不能修改其返回内容的值

指针常量作为函数返回值

?

该方式是合法的,并且可以修改内容的值,如果外部改变值,可能会导致混乱,引入错误,慎用!!!

?

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