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...
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量; 如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。 (1)const char *p 一个指向char类型的const对象指针,p不是常量,我们可以修改p的值,使其指向不同的char,但是不能改变它指向非char对象,如: const char *p; ch...
const char *p:p不是常量,可以修改p的值,但不能修改p指向空间的值 char const *p与char *const p:p是常量,不能修改p的值,但能修改p指向空间的值 const char *const p:两者均为常量,不可修改 注意:在函数返回值前加const的目的是为了使其返回值不为左值。比如假设a*b=c是合法的,但无意义,我们需要杜绝...
一、const charp (限定p,放开p;*p值不可改,指针p可修改) 对于const chars 来说,const char是指向常量的指针,而不是指针本身为常量,可以不被初始化.该指针可以指向常量也可以指向变量,只是从该指针的角度而言,它所指向的是常量。 s是不变的,s是可以改变的,const限定的s。s被一个解引用运算符修饰,故s是个...
const char *p" (也可以写成char const *p") 声明了一个指向字符常量的 指针, 因此不能改变它所指...
char * const p char const * p const char *p上述三个有什么区别?相关知识点: 试题来源: 解析 答案: char * const p; //常量[1]指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p反馈 收藏 ...
charx,y;const*p=&x,p=&y,修改指针本身是可以的,*p=‘b’就不行。 Char*constp;中const修饰的是指针,表明指针在操作过程中不可以修改, 而指针所指向的内容是可以修改的,比如说charx,y;char*constp=&x;*p=‘b’是可以的,但p=&y;是不可以的,const修饰的是指针,不可以修改指针的指向, 只可以修改指针...
const char *p; const修饰*p,所以*p是一个常量,不可修改。 char* const p; const修饰p,所以指针p是一个常量,不可修改。 #include<iostream>usingnamespacestd;intmain(void) {constchar*p; p="I Love ShangHai";while(p) {if(*p=='L')*p='l';//编译不能通过。error:表达式左值必须是可修改的值 *p...
ptr = ss; 可以; 对于char* const p p是一个指针,只能指向一个地方,但是指向的这个地方可以修改其值; char str[] = "Hello world!"; char ss[] = "I'm good~"; char* const *ptr; ptr = str; ptr[0] = 'W'; 可以; 但是: ptr = ss; 失败;...
第一个 char * const p 修饰p 说的是p的值不能改变。 但是*p是可以改变的。 这种叫指针常量。指针本身是常量的意思。后面两个等效 char const * p 和const char *p const修饰的 都是*p, p的值可以变,但是p指向空间是不可以修改的。 这种叫常量指针, 指向常量的指针。