(1)char *p:p是一个工作指针,可以用来对任意位置(非系统敏感区域)进 行读操作和写操作,一次读写一个字节(char占一个字节)。 (2)const char*p或者char const *p(因为没有const*p运算,因此const修饰的还是前面的char):可以对任意位置(非系统敏感区域)进行“只读”操作。(“只读”是相对于char *p来说所限定的...
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...
char *const p 修饰指针为常量 指针指向内容可以是变量~既 p++这样的操作不合法 *p='3' 合法 const char * p 是p指向的内容是常量~p是变量~ ~既 p++合法 *p='3' 不合法
这里是const char *p;他的意思是p指向的目标空间的内容不可变化.例如定义char c='A'; p=&c;则c的内容不可以变化.如c='B';等一些企图改变变量c的值的做法都不行.然而p仍然是动态的,就是它还可以指向别的空间,被赋予新的地址值,只是被他指向的目标空间的内容不可变化,如上面的c值始终为'A'...
解:constchar*p和charconst*p修饰的是p所指向的变量, 不可以用*p=’a’等这样的方式修改变量区的内容.指针本身是可以修改的,比如说 charx,y;const*p=&x,p=&y,修改指针本身是可以的,*p=‘b’就不行。 Char*constp;中const修饰的是指针,表明指针在操作过程中不可以修改, 而指针所指向的内容是可以修改的,...
答: char*constp;//常量指针,p的值不可以修改 charconst*p;//指向常量的指针,指向的常量值不可以改 constchar*p;//和charconst*p 3. charstr1[]="abc"; charstr2[]="abc"; constcharstr3[]="abc"; constcharstr4[]="abc"; constchar*str5="abc"; constchar*str6="abc"; char*str7="abc"...
而p++,则表示把该地址变量向下一个存储单元移动一位,如4B3F6A到4B3F6B.所以合法。 1. 2. 3. 2.char *const p 修饰指针为常量 指针指向内容可以是变量~既 p++这样的操作不合法 *p='3' 合法 const char * p 是p指向的内容是常量~p是变量~ ...
理解"const char *p"表示的是指针所指的值不变,但指针可变的关键在于了解C++中声明的组成。声明通常分为两部分:specifiers和declarator。specifiers包含type specifiers和non-type specifiers。type specifiers明确返回类型,如int、unsigned、const,可以随意调整顺序。non-type specifiers描述声明的属性,如inline...
[定义理解] char* const p; p为指向字符变量的指针,地址不变,地址内容可变 const char *p; p为指向字符变量的指针,地址可变,地址内容不变 ch...
百度试题 结果1 题目以下3个有什么区别? char * const p; char const * p; const char *p;相关知识点: 试题来源: 解析 答:第一个是指针常量,第二个是常量指针,第三个也是常量指针 反馈 收藏