A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int a=5;
int* p=&a;
int **m=&p; //*(*m)
printf("&a = %p\n",&a);
printf("p = %p\n",p);
printf("&p = %p\n",&p);

printf("m = %p\n",m);
printf("*m = %p\n",*m);
printf("%d\n",**m);

如果是*****m怎么理解**m和*m?

2 个回复

倒序浏览
*m定义了一个指向a的指针变量,p=&a,*p=a,
回复 使用道具 举报
首选来分析*m=p,   然后是也就是说m是个指针,存放的是p这个变量的地址,p有两个角色,一个是指针,一个是变量,但是这个变量也是0*1234---类的变量

当打印p的地址,那就是a的地址;当打印&p时候,就是把p看成变量处理,是打印的p变量的地址,当打印*m,是打印的p指针的地址也就是a的地址。当打印**m时候,打印的是m指针的地址(这里把**m也看成指针和变量两个角色),也就是p变量的地址。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马