const 符号常量;(1)const char *p(2)char const *p(3)char * const p说明上面三种描述的区别;
1个回答
展开全部
【答案】:如果const位于星号的左侧,则const就是用来修饰
指针所指向的变量,即指针指向为常量;
如果const位于星号的右侧,const 就是修饰指针本
身,即指针本身是常量。
(1)const char *p
一个指向char 类型的const 对象指针,p 不是常量,
我们可以修改p的值,使其指向不同的char,但是
不能改变它指向非char对象,如:
const char *p;
char c1='a';
char c2='b';
p=&c1;//ok
p=&c2;//ok
*p=c1;//error
(2)char const *p
(3)char * const p
这两个好象是一样的,此时*p可以修改,而p不能
修改。
(4)const char * const p
这种是地址及指向对象都不能修改。
指针所指向的变量,即指针指向为常量;
如果const位于星号的右侧,const 就是修饰指针本
身,即指针本身是常量。
(1)const char *p
一个指向char 类型的const 对象指针,p 不是常量,
我们可以修改p的值,使其指向不同的char,但是
不能改变它指向非char对象,如:
const char *p;
char c1='a';
char c2='b';
p=&c1;//ok
p=&c2;//ok
*p=c1;//error
(2)char const *p
(3)char * const p
这两个好象是一样的,此时*p可以修改,而p不能
修改。
(4)const char * const p
这种是地址及指向对象都不能修改。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询