const与指针
int mian()
{
const int n=10;//C语言一变量为主
int ar[n]={1,2};//error
int *p =(int*) &n;
*p = 100;
printf("%n = %d *p = %d n",n,*p);
return 0;
}
int main()
{
const int n = 10;// C++语言中以常量为主
int ar[n] = {1,2,3,4};//ok;
int *p = (int *)&n;
*p = 100;
cout<<"n = "<
const 与指针的关系
int main()
{
int a =10,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; // ok;
const int *p2 = &a; // ok;
int*constp3=&a;//ok;
const int * const p4 = &a; // ok;
return 0;
//编译方式不同
常变量与指针
int main()
{
const int a = 10;
int *p1 =&a; // error;
const int *p2 = &a; // ok;
int * const p3 = &a; // error;
const int * const *p4 = &a; // ok;
int *p5 = (int*) &a;
return 0;
}
同类型指针的赋值兼容规程
int main()
{
int a = 10,b = 20;
int *p = &a;
int *s1 = p; // ok;
const int *s2 = p; // ok;
int * const s3 = p; // ok;
const int * const s4 = p; //ok;
}
练习1
int main()
{
int a = 10, b = 20;
const int *p = &a;
int *s1 = p; //
const int *s2 = p; //
int * const s3 = p; //
const int * const s4 = p; //
return 0;
}
练习2
int main()
{
int a = 10, b = 20;
int * const p = &a;
int *s1 = p; //
const int *s2 = p; //
int * const s3 = p; //
const int * const s4 = p; //
}



