美文网首页
C语言-const指针

C语言-const指针

作者: 我阿郑 | 来源:发表于2021-12-12 09:37 被阅读0次

const 指针

在普通指针类型前面,加上const修饰

例如:

const int* p;
const char* p;
const double* p;

const 指针:区别

加不加const,有什么区别?

// 1-不加const
int a = 10;
int* p = &a;
*p = 20; // 可写
int b = *p; // 可读

// 2-加上const
int a = 10;
const int* p = &a;
*p = 20; // Error ❌,不可写
int b = *p; // 可读

const的作用是限制星号操作里的写内存功能(这块内存只能读,不能写)

const指针:用途

const 用于限定函数的参数

int test(const int*p, int len) {
    for(int i=0; i<len; i++) {
        printf("%d \n", *p); // 可以读取
        p = p + 1; // 没问题
        *p = 20; // Error ❌ Read-only variable is not assignable
    }
}

用于显式地制定:该函数的参数是输入参数,在函数里面只是读取这个内存,而不会修改这个内存的值
当你不需要修改内存时,在指针前面加上const修饰,避免一不小心的错误发生。

const只是限制的星号操作,不允许写内存,但是对于普通的指针加减法是没关系的

const 一个不常用的语法

int a = 10;
int b = 20;
int* const p = &a; // 这是另一种语法, 实际开发中不会用到
p = &b; // Error ❌  Cannot assign to variable 'p' with const-qualified type 'int *const'

const 总结

  • const 指针:表示该内存是只读的
  • 常用于修饰函数的参数,当被const修饰,表示该参数仅用于输入 int test(const int*p, int len)

相关文章

  • 一、C++中的const、define

    C 语言中 在C语言中,const是个假语法,const 中的变量可以通过指针修改,例如: C++中 const ...

  • const使用

    通过指针可以修改c语言中const修饰变量的值 const_cast

  • C语言指针 - const

    int const * const p; 相对于 * 号1、const 放左边表示 指针变量指向常量;2、cons...

  • C语言-const指针

    const 指针 在普通指针类型前面,加上const修饰 例如: const 指针:区别 加不加const,有什么...

  • 计算机基础的考察

    语言语法(以C/C++为例)。 指针(数组),函数指针,操作符运算顺序,const(常指针与指向常量指针),sta...

  • 初学C语言

    初学C语言——指针介绍 #include int main(int argc,const char * argv...

  • C++ 常用小点

    1. C++ 自定义String c语言常量不能修改,但是可以通过指针修改const int num = 100;...

  • c语言之const和指针

    const和指针 区别方法:如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量...

  • const理解

    关于const *和* const的理解,可以参考[C C++ OC指针常量和常量指针区别]这篇文章。 该篇文章中...

  • strlen, sizeof(), length的区别

    strlen C,C++语言中的函数,用于计算当前指针变量 const char * (字符串)的字符串长度,以\...

网友评论

      本文标题:C语言-const指针

      本文链接:https://www.haomeiwen.com/subject/bqukfrtx.html