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 char const * p const char *p上述三个有什么区别?相关知识点: 试题来源: 解析 答案: char * const p; //常量[1]指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p反馈 收藏 ...
对于const char *p p是一个指针,指向const char 类型的; 例如: char str[] = "Hello world!"; char ss[] = "I'm good~"; const char *ptr; ptr = str; ptr[0] = 'W'; 失败; 但是: ptr = ss; 可以; 对于char* const p p是一个指针,只能指向一个地方,但是指向的这个地方可以修改其值; ...
对于C++而言,没有const * 修饰符,所以,const只可以修饰类型或者变量名。因而const char *p,char const *p是等价的。 const char *p = "abc"; 意义为:不可以改变p所指向的内容,即*p不可以改变,*p = "bcd";是错误的。 char a,b; char * const p = &a; 意义为:不可以改变p的指向,即p的内容不可以改...
char * const p和const char *p的区别 1. 前者定义P为常量,即只能单向赋值一次,P++展开为p=p+1,重复赋值给常量,出错,后者P为地址变量,地址变量是指向该变量的存储地址值如:4B3F6A, 1. 前者定义P为常量,即只能单向赋值一次,P++展开为p=p+1,重复赋值给常量,出错,后者P为地址变量,地址变量是指向该变量的...
charx,y;const*p=&x,p=&y,修改指针本身是可以的,*p=‘b’就不行。 Char*constp;中const修饰的是指针,表明指针在操作过程中不可以修改, 而指针所指向的内容是可以修改的,比如说charx,y;char*constp=&x;*p=‘b’是可以的,但p=&y;是不可以的,const修饰的是指针,不可以修改指针的指向, 只可以修改指针...
一个指向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 char * const p 这种...
const char *p、char const *p、char * const p的区别? const char *p和char const *p是一样的,都表示定义一个指向字符常量的指针,指针的内容(字符)不可变.char * const p表示一个指向字符的指针常量,字符可以改变,但是指针指向的地址不可变.
const *char p和char const *p,const char*p的区别 char*const p——p必须初始化,且不能指向别处,即p是指针常量; char const*p——p指向的内容不能改变,即指向的目标是常量; const char*p——同上。
char *const p * 读成 pointer to p is a const pointer to char char const *p p is pointer to const char; char const * p; 同上因为C++里面没有const*的运算符,所以const只能属于前面的类型 C++标准规定,const关键字放在类型或变量名之前等价的。