Const和指针
Const在C和C++中的区别
int main()
{
const int n=0;
int ar[n]={1,2};
int *p=(int*)&n;
*p=100;
printf("%n=%d *p=%d n",n,*p);
return 0;
}
int main()
{
const int n=10;
int ar[n]={1,2,3,4};
int *p=(int *)&n;
*p=100;
cout<<"n="<<n<<" *p="<<*p<<end;
return 0;
}
Const与指针的关系
int main()
{
int a=0,b=10;
int *p1=&a;
const int *p2=&a;
int const *p2=&a;
int * const p3=&a;
const int * const p4=&a;
}
int main()
{
int a=0;
int *p1=&a;
const int *p2=&a;
int * const p3=&a;
const int * const p4=&a;
return 0;
}
常变量与指针
int main()
{
const int a=10;
int *p1=&a;
const int *p2=&a;
int * const p3=&a;
const int * const *p4=&a;
int *p5=(int*)&a;
return 0;
}
同类型指针的赋值兼容规程
int main()
{
int a=10,b=20;
in *p=&a;
int *s1=p;
const int *s2=p;
int * const s3=p;
const int * const s4=p;
}
总结:能力强的指针赋值为能力收缩的指针
练习1
int main()
{
int a=10,b=20;
in *p=&a;
int *s1=p;
const int *s2=p;
int * const s3=p;
const int * const s4=p;
}
练习2
int main()
{
int a=10,b=20;
int * const 0=&a;
int *s1=p;
const int *s2=p;
int * const s3=p;
const int * const s4=p;
}
|