char * const p; //常量指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p 3 char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; co...
char * const p -> p 被修饰, p(指针)不可改; 一、const charp (限定p,放开p;*p值不可改,指针p可修改) 对于const chars 来说,const char是指向常量的指针,而不是指针本身为常量,可以不被初始化.该指针可以指向常量也可以指向变量,只是从该指针的角度而言,它所指向的是常量。 s是不变的,s是可以改变...
char const * p; 同上因为C++里面没有const*的运算符,所以const只能属于前面的类型 C++标准规定,const关键字放在类型或变量名之前等价的。 const int n=5; //same as below int const m=10 const int *p; //const (int)*p int const *q;// (int)const *p char *const *p3; pointer to const pointe...
百度试题 题目const char *p和char * const p;的区别 相关知识点: 试题来源: 解析 答: 如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量; 如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。反馈 收藏
理解"const char *p"表示的是指针所指的值不变,但指针可变的关键在于了解C++中声明的组成。声明通常分为两部分:specifiers和declarator。specifiers包含type specifiers和non-type specifiers。type specifiers明确返回类型,如int、unsigned、const,可以随意调整顺序。non-type specifiers描述声明的属性,如inline...
(也可以写成char const *p") 声明了一个指向字符常量的 指针, 因此不能改变它所指向的字符;char * ...
(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 (3)char * const p 此时*p可以修改,而p不能修改。 (4)const ch...
const char **p char *const *p char **const p 看变量声明的时候应该从右至左看,以 char *const *p 为例: 先看从右至左第一个符号*,这表明变量p是指针,再看第2个符号const,它修饰的是*p,*p表示p指向的内容,所以,p指向的内容是常量,下一个符号是*,这就表示该常量为指针,然后是char,就表示指向的内...
const char * p等价于 char const *p ,定义出来的指针可以p++;char * const 定义出来的指针不可以++;const 表“只读”