免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6733 | 回复: 22
打印 上一主题 下一主题

二重指针的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-19 22:44 |只看该作者 |倒序浏览
本帖最后由 cu养猪小能手 于 2010-08-19 22:56 编辑

错误写法:警告:从不兼容的指针类型赋值( *ppi = &pi)并且执行时段错误
  1. #include "stdio.h"
  2. main()
  3. {
  4.     int i;
  5.     int *pi;
  6.     int **ppi;

  7.     i = 1;
  8.     pi = &i;
  9.     *ppi = π

  10.     printf("i is %d\n\n",i);
  11.     printf("pi is %d\n\n",*pi);
  12.     printf("ppi is %d\n\n",**ppi);
  13. }
复制代码
正确写法:
  1. #include "stdio.h"
  2. main()
  3. {
  4.     int i = 1;
  5.     int *pi = &i;
  6.     int **ppi = π



  7.     printf("i is %d\n\n",i);
  8.     printf("pi is %d\n\n",*pi);
  9.     printf("ppi is %d\n\n",**ppi);
  10. }
复制代码
为什么第一种是错误的?

论坛徽章:
0
2 [报告]
发表于 2010-08-19 22:47 |只看该作者
谁说第一种是错的啊?

论坛徽章:
0
3 [报告]
发表于 2010-08-19 22:50 |只看该作者
本帖最后由 cu养猪小能手 于 2010-08-19 22:51 编辑

回复 2# zhangsuozhu


    我这里编译出错啊。

修改:不是编译出错,是执行的时候  段错误

论坛徽章:
0
4 [报告]
发表于 2010-08-19 22:55 |只看该作者
看代码觉的没啥问题啊

论坛徽章:
0
5 [报告]
发表于 2010-08-19 23:00 |只看该作者
回复 4# zhangsuozhu


    第一种写法编译的时候第十行出警告::从不兼容的指针类型赋值,执行的时候段错误。

论坛徽章:
0
6 [报告]
发表于 2010-08-19 23:01 |只看该作者
本帖最后由 zhangsuozhu 于 2010-08-19 23:10 编辑

想了半天不对.怕以把刚才说的给删了

论坛徽章:
0
7 [报告]
发表于 2010-08-19 23:05 |只看该作者
回复 6# zhangsuozhu


    我用的是 gcc 32位linux的。

论坛徽章:
0
8 [报告]
发表于 2010-08-19 23:17 |只看该作者
本帖最后由 zhangsuozhu 于 2010-08-19 23:44 编辑

*ppi = π

晕.看出来了. ppi = π才对

论坛徽章:
0
9 [报告]
发表于 2010-08-19 23:24 |只看该作者
回复 8# zhangsuozhu


    大哥,不行啊,编译的时候报错了:错误:单目‘&’的操作数必须是左值

论坛徽章:
0
10 [报告]
发表于 2010-08-19 23:43 |只看该作者
本帖最后由 zhangsuozhu 于 2010-08-19 23:47 编辑

  1. i = 1;
  2. pi = &i;
  3. *ppi = π
复制代码
被整晕了.丢人了.   可以这么想pi里存的内容是一个内存地址. pi = &i; 的意思就是向pi里存入&i的内存地址.
*ppi = π 句有问题.为什么这么说呢, ppi里存的是指向另一个内存地址的地址.也就是pi的址.
所以 ppi = &pi 或 *ppi = pi
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP