| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 689 人关注过本帖
标题:关于二重指针的解引用的一点疑惑
只看楼主 加入收藏
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
结帖率:90%
收藏
 问题点数:0 回复次数:1 
关于二重指针的解引用的一点疑惑
#include <stdio.h>
void unknow(int n);
int main()
{
 int t=5;
 int *p=&t;
 int **p2=&p;
 printf("%d\n",t);
 printf("%d\n",*p);
 printf("%d\n",**p2);
 unknow(8);
 getchar();
}

void unknow(int n)
{
  int i;
  int *pp;
  int **pp2;
   i=n;
  pp2=&pp;
  *pp2=&i;
  printf("%d\n",i);
  printf("%d\n",*pp);
  printf("%d\n",**pp2);

}

对于以上这个程序,main()函数的解引用没问题,但是对于 unknow函数里面的解引用存在一点疑惑,到底他是如何解引用的呢??望指点。。。。。。
搜索更多相关主题的帖子: include 如何 
2011-05-06 11:09
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
程序代码:
;-----------------------------------------------
before step1
&n        = stack_addr0
n         = *(int*)(stack_addr0)
&i        = stack_addr1
i         = *(int*)(stack_addr1)
&pp       = stack_addr2
pp        = ref_addr1
*pp       = *(int*)(ref_addr1)
&pp2      = stack_addr3
pp2       = ref_addr2
*PP2      = (int*)(ref_addr2)
**pp2     = *(int*)(ref_addr2)
ref_addr1 = stack_addr2 -> ?(not known yet)
ref_addr2 = stack_addr3 -> ?(not known yet)
;-----------------------------------------------
void unknow(int n)
{
  int i;       
  int *pp;
  int **pp2;
  i=n;                    ;step1 *(int*)(stack_addr1) = *(int*)(stack_addr0)
  pp2=&pp;                ;ref_addr2 = stack_addr2
  *pp2=&i;                ;(ref_addr2 = stack_addr2) -> stack_addr1
  printf("%d\n",i);       ;output *(int*)(stack_addr1)
  printf("%d\n",*pp);     ;output *(int*)(ref_addr1) = *(int*)(stack_addr1)
  printf("%d\n",**pp2);   ;output *(int*)(ref_addr2) =
                          ;*(int*)(*(int*)stack_addr3->stack_addr2) =
                          ;*(int*)(ref_addr1) =
                          ;*(int*)(stack_addr1)

}
希望发出来字能对齐.

技术问题,请不要以短消息方式提问
2011-05-06 11:55
快速回复:关于二重指针的解引用的一点疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017909 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved