指针的一些总结 const与指针 指向const的指针指的是指针指向的数据是常量,不可以被修改,但指针变量本身可以被修改,如const int *p:严格说不能用指针间接修改指向的数据,但该变量可以通过自己本省修改.如 int a=10: const int *p=&a:则*p=9是错误的,无法被修改,但是a=9,则是正确的,可以被修改. 如有const 常量,则需用const指针来指向. const 指针 指的是指针变量本省是一个常量,只能指向定义时所给的那个数据,而不能指向别处…
void指针:主要是便于传递不同类型的参数 const指针: const char *p :const 在* 的左边表示指向一个常量指针:表示指向的内容不可变(*p不能变,p可以改变) int a = 3; int b = 4; const int *p = &a; p=&b;允许:但是*p = 5是不允许的: char * const p:const在* 的右边表示一个指针常量 int a = 3; int b = 4; char * const p = &a; p=&b…
const对象: const对象声明时必须赋初值,该值在编译阶段确定,不可在程序中修改. const修饰符既可放在类型名前也可放在类型名后,通常放在类型名前.不过放在类型名后易于理解. const int a = 7; int b = 8; int array[a];//合法, a是const变量,值在编译阶段确认 int arr[b]; //不合法,b是个普通变量,值没有在编译阶段确定 指向const对象的指针: 可理解为“自认为指向const对象的指针”,其实际所指向的对象不一定是cons…
这里以int类型为例,进行说明,在C++中const是类型修饰符: int a; 定义一个普通的int类型变量a,可对此变量的值进行修改. const int a = 3;与 int const a = 3; 这两条语句都是有效的code,并且是等价的,说明a是一个常量,不能对此常量的值进行修改. const int* p =&a; 与 int const* p = &a; 这两条语句都是有效的code,但是它们不是等价的.其中const int* p = &a; 是平时经常使用的…
辨析以下几种指针p的定义. ; int *p = &tmp; const int *p = &tmp; int const* p = &tmp; int * const p = &tmp; const int * const p = &tmp; int const * const p = &tmp; 根据文献一,可以采用从右往左读的方式区分. 第一个为普通指针,指向普通int变量: 第二个和第三个相同,都是普通指针,指向const int型变量: 第四个是c…