1,指针常量和常量指针的区别如何记忆看const在哪里:数据类型*指针变量名; 这个声明格式 指针变量名前面有3个空白可以加入const前面两个都是修饰的指针,都是指向常量的指针,比如int const *p; 或者const int *p;自己可以变,但是不能通过这个指针来改变指针指向的目标最后一个,const 距离变量名最近,因此指针是常量 , 自己不能改变了 , 但是可以通过这个指针改变指针指向的目标
2,常量指针和指针常量有什么区别int a;int * const p = &a //指针常量,*p可以修改*p = 8;(OK) p不可以修改 p++(ERROR)int a , b;const int *p = &a;//常量指针 *p不可修改 *p = 8;(ERROR) p 可以修改 p = &b (OK)还有一种const int * const p = &a; // *p 和 p均不可改变了
3,指针常量与常量指针这个就是int const *和int * const的区别 。int const * pc;是定义一个指向常量的指针,这个常量的值是不能变的,但是pc指针本身仍然是个变量 , 所以我们可以对其进行赋值即:pc = &z,但不能这样*pc = 3,因为*pc代表的是pc所指向的内容,在这里是个常量 , 常量是不能被赋值的 。而int * const cp;因为const紧跟着cp所以cp被定义成常量,这样指针cp的值就不能被改变了,如果y被定义成变量即:int y = 3;那么* cp的值即常量指针cp的值仍然可变 , 但cp指针本身是个常量 。指针常量是需要被赋值的,算法是从上往下执行,在执行完int * pp = &z;后,指针的赋值是可以改变原来的赋值的 , 所以*pc改变成&z的值 。常量指针表示指针的值是一个常量,比如int a = 0; int *const ptr= &a;也就是说指针指向的地址是不变的,但是他的内容可变 。指针常量是指指针指向的是一个常量,也就是说指针指向地址的值是不变的 。比如const int *ptr =0;【常量指针和指针常量的区别,指针常量和常量指针的区别如何记忆】
4,指针常量和常量指针的区别int a = 10;int * b = a;//指针const int * c = a;//指向常量的指针int * const d = a;//常量指针const int * const * e = a;//常量指向常量的指针你想问什么b是可以修改自己,就是可以重新指向别人,也可以修改a的数据c是不能修改a的数据 , 不过可以重新指向别人d是不能重新指向别人不过可以修改a的数据e是既不能指向别人也不能修改a的数据常量指针表示指针的值是一个常量,比如int a = 0; int *const ptr= &a;也就是说指针指向的地址是不变的,但是他的内容可变 。指针常量是指指针指向的是一个常量,也就是说指针指向地址的值是不变的 。比如const int *ptr =0;指针常量:指针指向的内容是不允许修改 。常量指针:指针指向的内容是允许修改,指针指向的地址是不允许修改.常量指针就是指针只能指向常量的地址 常量是什么不用说了吧 。。。int a=5;5的地址就是常量,a的是变量 。p只能指向常量但是p可以改变 , 即可以指向不同常量 。指针常量就是指针本身指向的地址不能变,即int *p=a; 这个p即&a不能变,但是a可以改变
推荐阅读
- 加盟教育培训行业,教育培训加盟哪家比较好
- vc60在线编译,VC60的编译器怎么用
- 苹果5为什么无法加入网络,为什么我的iphone5今天忽然连接不上无线局域网了只说无法加入
- 破解软件大全app,求可以下载破解软件和游戏的app
- c语言程序设计是啥,c程序设计语言什么意思
- 学编程可以用平板吗知乎,平板电脑可不可以编程
- 苹果恢复出厂设置后怎么激活,iphone恢复出厂设置后怎么激活
- python38汉化,为什么我的6120c一天会自动重启两三次你们用过6120c的会出现这
- ide Java,什么是IDEjava开发的ide是什么