二级指针问题

[复制链接]
1592|4
 楼主| hsbjb 发表于 2013-9-28 15:03 | 显示全部楼层 |阅读模式
今天突然想了下函数调用的问题,有关地址的传递
void cube(int * a,int * b){
   int *t;
t=a;a=b;b=t;
}
看了有人说是地址的交换的用 二级指针

谁能介绍一下二级指针,或者推荐一个书籍!
xsgy123 发表于 2013-9-28 15:41 | 显示全部楼层
看你需要swap的是什么类型,如果在函数里,因为形参只是一份拷贝,形参怎么改,实参也不会变,这时候就需要指针.

交换int用int *
交换int* 用int **
pkat 发表于 2013-9-28 15:53 | 显示全部楼层
二级 或者多少级 的指针没区别 ,
都是一个地址,地址那段内存由你来定。比如
int a = 2;
int *pa = &a;
int **ppa = &pa;
int *pb = (int *)ppa;

你说pb指向的是什么?就是 *pb的内容呢
从汇编的角度,二级指针 和 一级指针 都是一个偏移地址

这是我的理解,有误的地方请指出
火箭球迷 发表于 2013-9-28 16:04 | 显示全部楼层
我觉得你可以看看《C和指针》这本书,从内存和编译器的角度来理解指针,我想不论是几级指针,什么类型的指针你都会迎刃而解的,可以边看书边试着画画图,个人建议。
gxgclg 发表于 2013-9-28 16:42 | 显示全部楼层
LS的建议不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

193

主题

2354

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部