最近参加笔试面试,碰到好多关于const的问题,这里总结一下:
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。
类型声明中const用来修饰一个常量,有如下两种写法,那么,请问,下面分别用const限定不可变的内容是什么?
1)、const在前面
const int nValue; //nValue是const
const char *pContent; //*pContent是const, pContent可变
const (char *) pContent;//pContent是const,*pContent可变
char* const pContent; //pContent是const,*pContent可变
const char* const pContent; //pContent和*pContent都是const
2)、const在后面,与上面的声明对等
int const nValue; // nValue是const
char const * pContent;// *pContent是const, pContent可变
(char *) const pContent;//pContent是const,*pContent可变
char* const pContent;// pContent是const,*pContent可变
char const* const pContent;// pContent和*pContent都是const
答案与分析:
const和指针一起使用是C语言中一个很常见的困惑之处,在实际开发中,特别是在看别人代码的时候,常常会因为这样而不好判断作者的意图,下面讲一下我的判断原则:
当const所在代码段中不包含括号时,沿着*号划一条线,如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。你可以根据这个规则来看上面声明的实际意义,相信定会一目了然。
分享到:
相关推荐
C语言中const用法浅析.pdf
c语言之const用法 c语言之const用法 c语言之const用法 c语言之const用法 c语言之const用法
本文章是关于C语言中const定义常量 。
本文主要介绍了C语言中const与#define的区别,希望对你的学习有所帮助。
C语言中const的用法.doc
C语言中CONST的用法.pdf
总结了const的各种使用方法,及其作用效果,谢谢观看
一个较好的介绍CONST数据处理的函数PPT教程。
C语言中关键字const、static、volatile、extern、auto、register的用法分析
关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己的道理,所以说const的存在一定...
C语言之CONST用法.pdf
搜集了一些关于C语言关键字CONST的资料,里面讲得很详细,希望大家看完后能熟练掌握const的用法……
个人整理收集的关于关键字const的用法小结
C语言中const和C++中的const 区别详解 C++的const和C语言的#define都可以用来定义常量,二者是有区别的,const是有数据类型的常量,而宏常量没有,编译器可以对前者进行静态类型安全检查,对后者仅是字符替换,没有...
本文是对C语言CONST如何使用的介绍,感兴趣的朋友可以看看。
Const指针变量只保护其Value值不被改变,并不能保护指针所指向的地址中的值不被改变,下面一起来学习一下
文档用大量的例子介绍了const在c 中的详细用法,看了以后会大有收获!