const与指针
2017-07-09 18:20
162 查看
关键:分清const修饰的是什么,其修饰的东西不可变
示例:
示例:
3、 1与2结合
注意:const指针必须在定义时初始化,因为其只向的值不能改变。
1、const指针
int *const p; // const修饰的是p, 而p是一个指针, //指向的肯定是一个int类型的地址, //即指向的地址不可变;但p指向的地址上的值可变
示例:
int a = 10; int b = 20; int *const p = &a; printf("p = %p\n", p); // %p 十六进制格式输出 *p = 100; // no error p = &b; // error, p是一个const指针,指向的地址不可变, // 指向地址上的值可变 printf("p = %p\n", p);
2、指向const的指针
int const *p; // const修饰的是*p,即修饰的是指针p指向 // 地址上的内容,即指向地址上的内容不可变, // 指向的地址可变;这样的指针常用来作为函 // 数的参数,可避免修改对应地址上的值
示例:
int a = 10; int b = 20; int const *p = &a; printf("a = %d\n", a); printf("*p = %d\n", *p); // 10 printf("p = %p\n", p); *p = 100; // error p = &b; // no error printf("p = %p\n", p); printf("*p = %p\n", *p); // 20
3、 1与2结合
int const a = 1; int const *const p = &a; // p是一个const指针,指向的是一个const int变量。 //此时p指向的地址以及指向地址上的值都不可改变。
注意:const指针必须在定义时初始化,因为其只向的值不能改变。
相关文章推荐
- 指针和const
- 指针和const
- 指针与引用的初始化&顶层底层const变量初始化问题
- C++const与指针
- 指向const对象的指针 const指针
- const 和 指针
- const和指针
- const使用注意事项 指针 引用,指针引用区别
- 指向const对象的指针 和 const指针
- 指向const对象的指针和const指针
- C语言回顾(七、多重指针,argc,argv,动态内存分配,void指针,const)——iOS开发基础
- C语言中关于const与指针结合的理解
- c++基础:指针_引用_const
- 《C++ Prime Plus 第七章》—指针和const
- 引用&指针和引用&const的关系
- C++指向const对象的指针和const指针
- int const 与 const int区别 以及指针相关
- 关于const常量与指针赋值的问题
- const 与 指针的各种结合
- 指针知识梳理6-const与指针