专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

C语言中 const 的用法

作者:xuchen   来源:xuchen的blog   点击数:  更新时间:2014年05月28日   【字体:

 C语言中,被const限定的变量是不允许被改变的,即修饰一个不可变的变量,属于只读变量。

1、与常量的区别:
常量在程序编译过程中没有分配内存,自然不能够改变常量的值。而只读变量则在内存中分配的有地址,只不过这个值由编译器限定不允许被修改。const用来限定一个变量不允许被改变的修饰符。
2、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
上述声明分别于以下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位于*的左侧,则const用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,则const用来修饰指针本身,即指针本身是常量。
 
以上为const较常用的最简单的用法,在http://wenku.baidu.com/view/0f6b2c350b4c2e3f5727637d.html一文中有关于const更高深的理解及其用法。
关闭窗口

相关文章