例如有如下的定义:
inb b = 500;
const int *a=&b; [ 1 ]
int const *a = &b; [ 2 ]
int *const a=&b; [ 3 ]
const int *const a=&b; [ 4 ]
对于初学者来说,要想弄清楚所代表的意思不是那么容易的,它是修饰变量还是修饰指针呢?.现在,我在这里给出两条规则,只要记住就行了.
(1)如果const 位于*的左侧,则const是用来修饰指针所指向的变量,也即该变量的值是不能被修改的.
(2) 如果const位于*的右侧,则const是用来修饰指针本身,也即该指针本身是常量,不能再指向别的地址.
(3)如果*既位于const的左侧,又位于const右侧,则指该指针本身是常量,而且变量的值是不能被修改的。
转自软件技术共享网:http://itshare.17gigs.com
发表于 @ 2006年09月21日 20:35:00 | 评论( loading... ) | 举报| 收藏