请问关于c语言 const的问题
4个回答
展开全部
楼主你好!
A. const char *pContent;
B. char * const pContent;
C. char const *pContent;
D. const char* const pContent;
对于前三种写法,我们可以换个方式,给其加上括号
A. const (char) *pContent;
B. (char*) const pContent;
C. (char) const *pContent;
这样就一目了然。根据对于const修饰非指针变量的规则,很明显,A=C.
对于A,C, const修饰的类型为char的变量*pContent为常量,因此,pContent的内容为常量不可变.
对于B, 其实还有一种写法: const (char*) pContent;
含义为:const修饰的类型为char*的变量pContent为常量,因此,pContent指针本身为常量不可变.
对于D, 其实是A和B的混合体,表示指针本身和指针内容两者皆为常量不可变
总结:
(1) 指针本身是常量不可变
(char*) const pContent;
const (char*) pContent;
(2) 指针所指向的内容是常量不可变
const (char) *pContent;
(char) const *pContent;
(3) 两者都不可变
const char* const pContent;
还有其中区别方法:
沿着*号划一条线,
如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。
希望我的回答对你有帮助!
A. const char *pContent;
B. char * const pContent;
C. char const *pContent;
D. const char* const pContent;
对于前三种写法,我们可以换个方式,给其加上括号
A. const (char) *pContent;
B. (char*) const pContent;
C. (char) const *pContent;
这样就一目了然。根据对于const修饰非指针变量的规则,很明显,A=C.
对于A,C, const修饰的类型为char的变量*pContent为常量,因此,pContent的内容为常量不可变.
对于B, 其实还有一种写法: const (char*) pContent;
含义为:const修饰的类型为char*的变量pContent为常量,因此,pContent指针本身为常量不可变.
对于D, 其实是A和B的混合体,表示指针本身和指针内容两者皆为常量不可变
总结:
(1) 指针本身是常量不可变
(char*) const pContent;
const (char*) pContent;
(2) 指针所指向的内容是常量不可变
const (char) *pContent;
(char) const *pContent;
(3) 两者都不可变
const char* const pContent;
还有其中区别方法:
沿着*号划一条线,
如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。
希望我的回答对你有帮助!
展开全部
char *const p,这里的p是指向cha*的指针,P不能再被修改了,即P不能再指向别的了。
const char *p和char const *p是一样的,都是指向const char*的,也就是说P指向的内容不可被修改,但是P还可以指向别的字符串。
const char *p和char const *p是一样的,都是指向const char*的,也就是说P指向的内容不可被修改,但是P还可以指向别的字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
const char *p指向常量的指针
char const *p char *const p 常量指针。
char const *p char *const p 常量指针。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-20
展开全部
const char *p ------>指向常量的字符指针
char const *p
char *const p ----------> 常量指针,类型是字符型
char const *p
char *const p ----------> 常量指针,类型是字符型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询