指向const的指针和const指针】的更多相关文章

1.指向const的指针:const int *p 或 int const *p 解释:p是一个指针,指向const int类型的常量:指针指向的内容为常量,因此不能改变*p的值,但指针p可以改变,指向不同的const int常量 ; ; const int *p=&a; *p=; //error,p指向常量a,不能修改 p=&b; //ok,p只要指向const int类型即可 2.const指针:int *const p; 解释:p是一个指针,是指向int类型的const指针:指针p的…
1.const 的理解 const 是C语言的一个关键字,需要注意的是,const 关键字是把变量变为一个只读的变量(也就是不可以作为左值),绝对不是将这个变量变为常量.也就是说经过const 修饰的变量成为只读的变量之后,那么这个变量就只能作为右值(只能赋值给别人),绝对不能成为左值(不能接收别人的赋值). 而 C++ 则是将 const 修饰的常量变为一个真正的常量(变量的内容不可以被修改), 这一点的区别需要进行注意.当 const 变量的时候,就将这个常量放在符号表里面,编译的过程中发现…
指针的一些总结   const与指针 指向const的指针指的是指针指向的数据是常量,不可以被修改,但指针变量本身可以被修改,如const int *p:严格说不能用指针间接修改指向的数据,但该变量可以通过自己本省修改.如 int a=10: const int *p=&a:则*p=9是错误的,无法被修改,但是a=9,则是正确的,可以被修改.   如有const 常量,则需用const指针来指向.   const  指针 指的是指针变量本省是一个常量,只能指向定义时所给的那个数据,而不能指向别处…
指向常量的指针,不能用于改变其所指对象的值. 指针的类型必须与所指对象的类型一致,但是有两个例外,第一种是允许令一个指向常量的指针指向一个非常量对象: double dra1 = 3.14; const double *cptr = &dra1;//正确,但不能通过cptr改变dra1的值 和常量引用一样,指向常量的指针也没有规定其所值得对象必须是一个常量.所谓指向常量的指针仅仅要求不能通过该指针改变对象的值,而没有规定那个对象的值不能通过其他途径改变. Tips:试着这样想,所谓指向常量的指针…
const限定符 c++有了新的const关键字,用来定义常变量,可以替C语言中的#define.关于const限定符,有以下需要注意: 1.创建后值不再改变 2.作用范围在文件内有效 3.添加extern关键字,使多个文件共用同一个常变量 另外,int const与const int是等效的. const指针 创建const指针时,const,*和变量类型的符号顺序会给人很大的困扰.一般来说,按照从右向左读的方式来判断其含义. 1. const int *p=&i; 与下面的语句等效. (co…
刚开始接触C++时,指针和const之间的关系有点混乱,现在总结如下: 一.指向const变量的指针 #include<iostream.h> void main() { const int *p=NULL; ; p=&a; cout<<"*p="<<*p<<endl; ; p=&b; cout<<"*p="<<*p<<endl; //*p=200; 错误,不能通过修…
const修饰基本数据类型 #include <iostream> using namespace std; void main(){ const int a = 1; const char b = 'k'; const float c = 3.14f; //a = 2; //b = 'n'; //c = 1.2f; } const修饰基本类型表示这些类型为常量,不能再修改或赋值.还有需要注意的是3.14默认为double类型,如果用float变量保存的话应该写成float c = 3.14f…
与引用一样,也可以令指针指向常量或非常量,类似于常量引用,指向常量的指针不能用于改变其所指对象的值.要想存放常量对象的地址,只能使用指向常量的指针: const double pi = 3.14; // pi是个常量,它的值不能改变 double *ptr = π // 错误,ptr是一个普通的指针 const doublt *cptr = π // 正确,cptr可以指向一个双精度常量 *cptr = ; // 错误,不能给*cptr赋值 允许令一个指向常量的指针指向一个非常量对象: doub…
将指针参数声明为指向常量数据的指针有两条理由: 这样可以避免由于无意间修改数据而导致的编译错误.      使用const使得函数能够处理const和非const实参,否则将只能接收非const数据.      如果条件允许,则应将指针形参声明为指向const的指针. 可以有两种不同的方式将const关键字用于指针: (1)让指针指向一个常量对象.这样可以防止使用该指针来修改所指向的值 int age=39; const int *pt=&age; 该声明中的const只能防止修改pt所指向的值…
指针和Const限定符 1.指向const对象的指针 如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针具有const特性. const double *cptr; //cptr是一个指向double类型const对象的指针. 此处const限定了cptr指针所指向的对象类型,而非cptr本身.即cptr本身并不是const.在定义时,不需要对它进行初始化,若需要,可使cptr指向另一个const对象,但不允许使用cptr来改变所指向对…