常量指针和指针常量

转载 2012年03月30日 14:40:54
常量指针,就是指向常量的指针,关键字 const 出现在 * 左边,表示指针所指向的地址的内容是不可修改的,但指针自身可变。
指针常量,指针自身是一个常量,关键字 const 出现在 * 右边,表示指针自身不可变,但其指向的地址的内容是可以被修改的。

例:
        常量指针: const char* ptr = “hello”
        指针常量: char* const ptr = “hello”

另外常量指针有两种写法:const既可写在类型前,又可写在类型后。如上面的例子,常量指针:char const * ptr = “hello” 也是正确的。


void f1(char* p)
{
   (1)   char s[] = "Gorm";
   (2)   const char* pc = s;   //指向常量
   (3)   pc[3] = 'g';   //错误:pc是指向常量的
   (4)   pc = p;   //ok

   (5)   char *const cp = s;   //常量指针
   (6)   cp[3] = 'a';   //ok
   (7)   cp = p;   //错误:cp是常量指针

   (8)   const char *const cpc = s;   //到const的const指针
   (9)   cpc[3] = 'a';   //错误:cpc指向常量
   (10)   cpc = p;   //错误:cpc本身是常量
}


C/C++中的常量指针与指针常量

常量指针 常量指针是指向常量的指针,指针指向的内存地址的内容是不可修改的。 常量指针定义“const int *p=&a;”告诉编译器,*p是常量,不能将*p作为左值进行操作。但这里的指针p还是一个变...
  • u014744118
  • u014744118
  • 2016年03月30日 23:22
  • 565

C++ 指针常量、常量指针和常指针常量

1、指针常量 如果在定义指针变量时候,指针变量前用const修饰,被定义的指针变量就变成了一个指针类型的常变量,指针类型的常变量简称为指针常量。 格式如下 数据类型  *   const  指针变...
  • yujin753
  • yujin753
  • 2014年11月26日 22:12
  • 1338

详解指针常量和常量指针(C、C++工程师面试题)

常量指针:指向常量的指针。 指针本身可以改变,可以再次指向另外的对象。 不能通过指针修改其所指向的对象的值。 指针常量:指针类型的常量。 指针本身的值不能改变,即不能再指向另外的对象。 可以修改指针...
  • rl529014
  • rl529014
  • 2016年06月08日 18:35
  • 1022

常量指针与指向常量的指针

const int *p和int * const p的区别 对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &char_A;//指向常量的...
  • ycdhonker
  • ycdhonker
  • 2016年06月30日 08:58
  • 1741

C++中 常量引用、指向常量的指针、常量指针的区别

先初步了解引用、指针的一些注意事项。 引用并非对象 引用必须初始化 引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起 类型要严格匹配 int &a = 10; ...
  • Rueing839
  • Rueing839
  • 2015年09月13日 17:11
  • 1499

常量指针、指针常量、C++类型转换

一、const应用 1.const关键字,他后面内容的不可修改,一般来说,其修饰的变量不可再进行赋值操作; 2.常量指针 int a = 3; int b = 4; const int* pt = &...
  • zz460833359
  • zz460833359
  • 2015年09月10日 22:05
  • 776

char* a 与 char a[] 以及常量指针,指针常量

常量指针与指针常量 常量指针 :指向常量值的指针,指针本身值可变,但是指针所指向的内容不可更改 指针常量:指针值是一个常量,即指针值不可变,但指针所指向的内容可以变 如:int a = 9; int ...
  • u010897187
  • u010897187
  • 2015年04月02日 23:41
  • 336

C++常量详解(一)常量指针与常量引用的初始化

1、常量 1.1、常量的初始化: const对象一旦创建后其值就不能再改变,所以const对象必须初始化。这里我们要注意一点,像const int *p和const int &r都并不...
  • Jang1996
  • Jang1996
  • 2016年10月08日 11:46
  • 598

指针常量和指向常量的指针

首先,我们从const 说起。 const 有两种写法格式:const int n=20 和 int const n=20,它们相同吗?毫无疑问它们是相同的,这点务必记住。总之记住const 和 i...
  • weiyayunerfendou
  • weiyayunerfendou
  • 2016年08月29日 11:27
  • 289

C++ 常量指针 指向常量的指针

常量指针: 我们可以将指针声明为常量指针,这样指针是不可以改变的,但是指针指向的内容是可以改变。(指针中保存的地址是不可变的)。 #include using namespace st...
  • helainthus
  • helainthus
  • 2016年05月13日 13:00
  • 486
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:常量指针和指针常量
举报原因:
原因补充:

(最多只允许输入30个字)