指针常量

#include<iostream.h>
#include<alloc.h>
int main(){
char* const  pc ="asdf";
//pc ="dfgh"; error: assignment of read-only variable `pc‘
*pc =‘b‘;
*(pc+1)=‘c‘;
//*pc ++ =‘y‘; error: increment of read-only variable `pc‘
const int b =28;
//int *const pi =&b;  error: invalid conversion from `const int*‘ to `int*‘
}

被这个代码搞蒙了,然后我就看到了这篇文章

http://www.360doc.com/content/12/1013/09/2472295_241178117.shtml

时间: 2024-11-05 23:28:40

指针常量的相关文章

详解 常量指针和指针常量

说一下 常量指针和指针常量 的区别. 常量指针 指向常量的指针,也就是说指针指向的对象是常量,指向的常量不能修改.指针不是一个常量, 可以把指针指向别一个常量. 常量指针是我们最常用的,一般声明形式如下: const int *p; int const *p; 例: int a(1), b(3); const int *p; // 或者是 int const *p; p = &a; std::cout << "address : " << p <&

常量指针与指针常量的区别(转帖)

三个名词虽然非常绕嘴,不过说的非常准确.用中国话的语义分析就可以很方便地把三个概念区分开. 一) 常量指针. 常量是形容词,指针是名词,以指针为中心的一个偏正结构短语.这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量). 指针指向的对象是常量,那么这个对象不能被更改. 在C/C++中,常量指针是这样声明的: 1)const int *p; 2)int const *p; 常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也

常量指针和指针常量的区别

一, 常量指针,顾名思义,就是指向常量的指针,指针指向的内容不能改变,但是地址可以改变; 声明方式: const 类型 *指针常量名=&变量名: 如:const  int k=5,t=8; const int *p=&k; *p = 9; //指向的是常量,不可以赋值 p = &s;  //可以指向其他地址 二, 指针常量,即指针本身是个常量,是指针指向的位置不能改变,但是指向的对象本身是可以改变的. 声明方式: 指针类型 *const 指针名 = &变量名: 如:int

常量指针与指针常量

/* Module: 常量指针与指针常量.cpp Notices: Copyright (c) 2017/5/11 Landy */ #include <iostream> using namespace std; int main() { int a = 100, b = 200; // 常量指针 const int *pConstPointer; pConstPointer = &a; cout << *pConstPointer << endl; // 读

指针常量与常量指针

Int i=100; Const int *p = &i;//指向常量的指针 *p = 10;//这样就会报错. Int const *p1 = &i; p1不能在指向其他变量.//指针常量  为什么我的案例是可以? vs中 在 main.c中我的指针常量其值可以更改, 在 main.cpp 中依然可以更改 dev中 可以更改+1.

常量指针和指针常量

常量指针,重心点在后面,它是一个指针,它指向一个常量.它指向的地址的内容不能被修改,是防止对指针误操作而出现修改常量这样的错误. 指针常量,重心点在后面,它首先得是一个常量,然后它是一个指针.系统不能修改指针常量所指向的地址,也就是说这个指针指向的地址一经初始化,就固定了.但是,它所指向的地址中的内容,是可以改变的. (1)char* const p1; (2)char const* p2; (3)const char* p3; (4)const char* const p4; 对以上四个声明进

常量指针和指针常量的区别详解

引用地址 http://blog.csdn.net/beyond0525/article/details/7409305 在C/C++中关键字const用来定义一个只读的变量或者对象,有如下优点    (1)便于类型检查,如函数的函数 fun(const int a) a的值不允许变,这样便于保护实参.    (2)功能类似与宏定义,方便参数的修改和调整.如 const int max = 100:    (3)节省空间,如果再定义a = max,b=max...就不用在为max分配空间了,而用

C指针常量与常量指针

c语言中声明常量的两种方式 const int value int const value 如果要声明常量的指针,即指向常量的指针,则可以参考上面的常量声明修改一下 const int *ptr int const *ptr 把*ptr看成一个整体,那么*ptr中的ptr就是指向常量的指针了.顾名思义,指向常量的指针,那么就不可以通过这个指针去修改这个值了. #include <stdio.h> int main(){ int val = 123; int const *ptr = &

指针常量和常量指针

这两个概念经常分不清,今天好好总结一下. 一.指针常量 先说指针常量,是因为它和我们常用的数组有关系. 指针常量的声明 int * const p; 指针声明操作符*在常量限定符const前面,叫做指针常量.忽然发现了一点规律^_^. const限定符修饰的是指针.数组名就是一个指针常量.而数组名和指针有什么区别呢?可以通过引用数组名去修改指向的内存,但是自身不可以被赋值,不可以进行++.–操作. 二.常量指针 常量指针的声明 const int * p1; int const * p2; 常量

常量指针、指针常量、指向常量的指针常量

三个名词虽然非常绕嘴,不过说的非常准确.用中国话的语义分析就可以很方便地把三个概念区分开. 一) 常量指针. 常量是形容词,指针是名词,以指针为中心的一个偏正结构短语.这样看,常量指针本质是指针,常量修饰它,表示这个指针乃是一个指向常量的指针(变量). 指针指向的对象是常量,那么这个对象不能被更改. 在C/C++中,常量指针是这样声明的: 1)const int *p; 2)int const *p; 常量指针的使用要注意,指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改,也