C语言|const关键字介绍

描述

最近看别人的项目, 发现const使用比较多, 通过使用const来保护变量, 这篇推文就来简单回顾一下相关知识!

| 用法1

有时候定义了一些变量, 但是并不想它被修改, 简单理解就是定义了一些变量, 这些变量的性质是只读, 就可以使用const来保护相关数据:

 

#include "stdio.h"

int main()
{
            // 写法1 
            const int a = 10;
            // 写法2
            int const b = 10;
            // 报错 
            a = 20;
            // 报错
            b = 20; 
}

 

| 用法2

除了保护变量, 还能和指针配合使用, 特别要注意const的位置, 这是个细节问题, 不能忽视!!!

 

#include "stdio.h"

int main()
{
            // 变量 
            int a = 10;
            int b = 10;
            // 写法1 
            const int *p1 = &a;
            // 写法2
            int const *p2 = &a;
            // 写法3
            int *const p3 = &a;
    
            // 重新赋值 
            p1 = &b;
            p2 = &b;
            // 报错 
            // p3 = &b;
            // 成功 
            *p3 = 20;
            // 报错 
            *p1 = 20;
}

 

注意它们的区别: 1个只能改值, 一个只能改地址!

| 用法3

除了配合指针使用, 还能作为函数的参数进行使用, 可以细分为两类

类型1

为了防止在函数内部修改指针指向的数据,就可以用 const 的如下写法限制:

 

size_t strlen ( const char * str );

 

类型2

为了防止在函数内部修改指针指向地址, 就可以用 const 的如下写法限制:

 

void test(  char *const obj);

 

特别注意: 加了const的变量或指针和不加是有区别的, 不要随便进行类型转换, 或者其他异常操作!





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分