1、常量指针
const char *p;
char const *P;
const修饰的都是char,所以指针P所指的内容不能通过指针P去改变。
2、指针常量
char * const p;
const 修饰的是p, 所以指针p不能被改变,也就是只能在定义的时候就初始化。
#include<iostream>
using namespace std;
int reg()//判断编译系统是64位还是32位
{
cout<<sizeof(void*)<<endl;
return (sizeof(void*)==8);//64位系统所有指针占8个字节,32位为4
}
int main()
{
int a[10];
char str[]="hh666";
const char *p;
char const *p2;
p=str;
p2=p;
char * const p1=str;
cout<<sizeof(p)<<sizeof(*p);//64位系统运行结果:8 1 32位系统运行结果:4 1 sizeof(*p)=sizeof(char)
}