C/C++指针初识

 int main()ide

{spa

printf("\n****************************************************************************"); 3d

//指针指向x1的内存地址,相应x1值变更,p也相应指针

int x1,*p=&x1;blog

x1=10;内存

printf("\nx1=%d",x1); it

printf("\np=%d",*p);class

 

printf("\n****************************************************************************"); 变量

 

//改变指针指向的地址im

int x=1,y=2,*p1=&x,*p2=&y;

printf("\nx=%d,y=%d,p1=%d,p2=%d",x,y,*p1,*p2);

p1=p2;

x=3,y=40;

printf("\nx=%d,y=%d,p1=%d,p2=%d",x,y,*p1,*p2);

 

printf("\n****************************************************************************"); 

 

//改变指针p3的值,相应指向x2的值也会跟着改变

int x2=3,y2=4,*p3=&x2;

printf("\nx2=%d,y2=%d,p3=%d",x2,y2,*p3);

*p3=y2+4;

x2=6;

p3=&y2;

printf("\nx2=%d,y2=%d,p3=%d",x2,y2,*p3);

 

printf("\n****************************************************************************"); 

 

//指向常量的指针(不能赋值*p4=30,可是能改变指针指向的地址)

const int *p4=&x2;

printf("\np4=%d",*p4);

p4=&y2;

printf("\np4=%d",*p4);

 

printf("\n****************************************************************************"); 

 

//常指针(固定指向某一变量地址不能改变(p=&y不成立),但它指向的地址的值能够改变*p=20)

int *const p5=&x2;

printf("\np5=%d",*p5);

*p5=20;

printf("\np5=%d",*p5);

 

printf("\n****************************************************************************"); 

 

//指向常量的常指针(指针自己不能改变,指向的地址中的值也不能改变。*p=20和p=&y都不成立)

const int *const p6=&x2;

printf("\np5=%d",*p5);

 

 

printf("\n****************************************************************************"); 

 

 

return 0;

}

 

相关文章
相关标签/搜索