C/C++基础面试-Const的全面理解(C部分)
来源:互联网 发布:c语言数组定义初始化 编辑:程序博客网 时间:2024/06/05 16:24
Const的全面理解(C部分)
下面我们来看一些简单的代码:
const int a1=1;int const a2=1;int *p=0x1;const int* a1;int* const a2;int const* const a3;
Const 是C中类似的修饰符。常见的数据类型修饰符有
Short long unsigned static auto extern register.
定义一个变量
类型描述符 变量名;
类型描述符=类型的修饰符+数据类型(int,char,float)
const int a1=1;int const a2=1;
表示的就是一个意思(指const int和int const是一个意思)
另外:
Static int short i;Int static short i;
也都是表示一个意思(指static、int、short)
对指针变量类型的理解
[],(),*有优先级,有以下理解
int *a1[10]; //[]高于*,所以是一个数组,每一个成员都是指针
int (*a2)[10]; //()高于[],是一个指针,指向的类型为一个数组
此处可见!
对指针变量的类型理解(建议从左向右)
int p = 0x1;const int* a1=&p;//变量a1,int*,const,表名指向的数据不可改int const *a2 = &p;//同a1int* const a3=&p;//a3指向的地址不能修改int const* const a4=&p;//什么都不能修改
最后!
typedef void* VP;
1.const void* ptr1
2.const VP ptr2
我们用如下代码来测试
#include <stdio.h>void main(){typedef void* VP;const void* ptr1=NULL;const VP ptr2=(VP)ptr1;VP const ptr3=(VP)ptr1;getchar();}
可见当用typedef定义时都为常指针
Const的作用
1.向其他程序员传递这个是不能修改的。
2.有可能让编译器产生更加紧凑的代码,避免不必要的错误。
3.合理包含我们只读的数据,避免不必要的错误
使用的位置
1.定义常量。防止被修改
2.函数参数中,加以限制
如strcpy和strncpy等等等
1 0
- C/C++基础面试-Const的全面理解(C部分)
- C/C++基础面试-Sizof的全面理解
- static的全面理解(C部分)
- [C++] 关于C++ const 的全面总结
- 关于C++const的全面总结
- C++_关于const 的全面总结
- C语言const的理解
- const 的c语言理解
- c const关键字理解
- C语言 面试部分
- c语言关于const的面试常识
- C基础之CONST
- C语言对const的理解
- c语言中const 关键字的理解
- C语言中对const的理解
- 【C++】【基础】const限定符的使用
- c基础部分
- C语言基础部分
- 2016年12月3日学习总结----以三维数组为例谈谈对数组名的理解
- 436. Find Right Interval (寻找最近的右区间)
- 谈谈APICloud与HTML在页面渲染方面的区别
- 用 Flask 来写个轻博客 (23) — 应用 OAuth 来实现 Facebook 第三方登录
- Summary Ranges
- C/C++基础面试-Const的全面理解(C部分)
- 二叉树的恢复和遍历
- xcode 使用
- 深入理解Queue 队列
- linux下查看已挂载磁盘的3种方法
- php excel 在ie 下显示乱码问题
- 欢迎使用CSDN-markdown编辑器
- 小写数字转换成大写数字
- python清屏