int * const p 与int const *p或者const int *p的区别
2015-08-30 19:27
981 查看
const是C语言中的常量关键字对于上面的用法就有点让人迷惑了。
本文全部使用的C-Free进行编译。
1. int const *p; 或者 const int *p;
这两种形式是一样的,表示的是*p是常量指针,即不能给它进行赋值,比如下面的代码编译通过(我用的C-Free编译的),运行会出错:
2.int * const p;
这种情况表示指针变量是常变量,即不能重复对*p进行赋值;有一点特别值得注意:在*p声明的同时就必须对它进行初始化,否则会编译通不过。
注释的部分会报错。
本文全部使用的C-Free进行编译。
1. int const *p; 或者 const int *p;
int const *p; const int *p;
这两种形式是一样的,表示的是*p是常量指针,即不能给它进行赋值,比如下面的代码编译通过(我用的C-Free编译的),运行会出错:
int a = 10; int const *p = &a; //*p = 20;
2.int * const p;
这种情况表示指针变量是常变量,即不能重复对*p进行赋值;有一点特别值得注意:在*p声明的同时就必须对它进行初始化,否则会编译通不过。
int a = 10, b = 20; int * const p = &a; //p = &b;
注释的部分会报错。
相关文章推荐
- 关于指针的一些事情
- Lua和C语言的交互详解
- C# Pointer指针应用实例简述
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C++智能指针实例详解
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数