const int *p与int *const p的区别
来源:互联网 发布:彻底掌握c语言 编辑:程序博客网 时间:2024/05/21 17:52
转载于:http://blog.csdn.net/suer0101/article/details/8032269
本文只是一篇学习笔记,是看了《彻底搞定C指针》中的相关篇幅后的一点总结,仅此而已!
一、先搞清const int *p与int const *p的区别
它们的区别就是:没有区别!!
无论谁在前面都没有影响!所以const int *p与int const *p用法一样!
二、const int *p的用法
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- int main(int argc, char **argv)
- {
- int test1 = 1;
- int test2 = 2;
- const int *p;
- p = &test1;
- p = &test2;
- test2 = 3;
- //*p = 4; error: assignment of read-only location ‘*p’
- printf("%d\n", *p);
- return 0;
- }
执行结果 :3 ,这个好理解,如果加入被我注释掉的那一行就会报错,编译通不过,我用的是gcc version 4.4.3。也就是说*p是常量,不可更改,但指针p还是变量,你想怎么 变都可以。
三、int *const p的用法
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- int main(int argc, char **argv)
- {
- int test1 = 1;
- int test2 = 2;
- int *const p = &test1; //只能在声明的时候就给它赋初值,否则还是会报错的
- //p = &test2; error: assignment of read-only location ‘*p’
- test1 = 3;
- printf("%d\n", *p);
- return 0;
- }
三、补充const int *const p
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- int main(int argc, char **argv)
- {
- int test1 = 1;
- int test2 = 2;
- const int *const p = &test1;
- //p = &test2;
- //*p = 3;
- printf("%d\n", *p);
- return 0;
- }
0 0
- const int *p与int *const p的区别
- const int *p与int *const p的区别
- const int *p与int * const p的区别
- const int* p与int *const p的区别
- const int *p与int *const p的区别
- const int *p与int *const p的区别
- const int *p与int *const p的区别
- const int *p与int *const p的区别
- 关于const int *p与 int *const p的区别
- int * const p 与int const *p或者const int *p的区别
- const int *p,int *const p区别
- const int *p,int *const p区别
- const int *p,int *const p区别
- int * const p 与 const int *p
- int *const p 与 const int *p
- const int *p与int *const p
- int const *p与int *const p区别
- const指针,const int * p, int *const p,int const * p的区别
- LeetCode(42) Maximum Depth of Binary Tree
- C语言深度学习——入门篇
- Android获取手机电话簿信息
- 如何在同一台机器上安装不同版本的JRE
- 查看ajax的错误信息
- const int *p与int *const p的区别
- 【Android入门】报错与解决方法记录
- C++设计模式——组合模式
- opengl 笔记 glMatrixMode()函数的参数 glTexCoord2f()和glTexImage2D()函数
- go安装配置脚本
- 房地产企业营销分析系统建设中的关键性指标是什么?
- leetcode decode ways
- Android模似器硬件加速
- 杭电2544-最短路(dijkstra)