美文网首页
指针与const(此节只适用于C99)

指针与const(此节只适用于C99)

作者: 爱生活_更爱挺自己 | 来源:发表于2020-07-02 22:09 被阅读0次

指针与const(此节只适用于C99)

指针 是const

  • 表示一旦得到了某个变量的地址,不能指向其他变量
    • int *const q = &i;//q是const
    • *q = 26;//OK
    • q++; //ERROR

所指是const

  • 表示不能通过这个指针去修改那个变量(并不是使得那个变量成为const)
    • const int *p = &i;
    • p = 26; //ERROR! (p)是const
    • i=26;//OK
    • p=&j;//OK

判断以下这些是什么意思?

int i;

const int* p1 = &i;

int const* p2 = &i;

int *const p3 = &i;

判断那个被const了的标志是const在*的前面还是后面

转换

  • 总是可以把一个非const的值转换成const的

    void f(const int* x);

    int a = 15;

    f(&a);//OK

    const int b = 1;

​ f(&b);//OK

​ b = a + 1;//ERROR!

  • 当要传递的参数的类型比地址大的时候,这是常用的手段:既能用比较少的字节数传递值给参数,又能避免函数对外面的变量的修改

const 数组

  • const int a[] = {1,2,3,4,5,6,};
  • 数组变量已经是const的指针了,这里的const标明数组的每个单元都是const int
  • 所以必须通过初始化进行赋值

相关文章

  • 指针与const(此节只适用于C99)

    指针与const(此节只适用于C99) 指针 是const 表示一旦得到了某个变量的地址,不能指向其他变量int ...

  • 2018-12-03

    const 与 多重指针 先让我们来看const与指针的情况 然而,当const碰到多重指针的时候,情况就会变得复...

  • C++ decltype 与 auto关键字

    顶层const 与 底层const 指针本身是不是常量 和 指针所指的是不是一个常量 是2个问题。顶层const ...

  • c++ 指针和引用的区别

    1. 指针有const,引用没有const 1)为了限制指针更改指向,引入了const指针(int* const ...

  • C语言-const指针

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

  • const、模板、注释、inline

    1、const:类型常量与指针常量 const int 等价于 int const 但不等价于int *const...

  • const与指针

    1.const修饰普通变量 int const a = 10; //与const int a = 10; 是等价的...

  • 指针与const

    普通非指针变量与const的情况 指针变量指向的内容不能被修改这是比较常见的情况,就是在指针类型前或者后面加上co...

  • 5.const与指针

    1.const修饰指针-常量指针 2.const修饰常量-指针常量 3.const修饰指针和常量 代码如下

  • Const关键字理解(iOS)

    基本数据类型 const 在基本数据类型中的用法 指针类型 指针 的简单用法 const 与 指针 的结合使用 注...

网友评论

      本文标题:指针与const(此节只适用于C99)

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