| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2019 人关注过本帖
标题:指针问题面面看
只看楼主 加入收藏
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-13 16:51
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-13 16:54
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用★红狼在2006-7-12 22:34:00的发言:


int a[5]={1,2,3,4,5}; // 2个数组,也可能是2个结构,或函数
int b[5]={11,22,33,44,55};
pa=a;pb=b;
fun(&pa,&pb);

void fun(int **paa,int **pbb); //现在交换2个数组,用指针;
{
int *ti; //有人说用 *ti,/* 这个人说的没错.. */
ti=*paa;*paa=*pbb;*pbb=ti;
}


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-07-13 17:03
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-13 17:03
★红狼
Rank: 2
等 级:论坛游民
帖 子:190
专家分:17
注 册:2006-7-12
收藏
得分:0 
本来 改变 指针的指向。就是改变了。所指向的内容。

双向 只有在函数中有效,其他我没试过。

那么int *ti;
ti=pa;pa=pb;pb=ti; 这个怎么解释呢?把pa 的地址值赋给ti;还是ti指向pa?
2006-07-13 17:41
一叶知秋
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-6-3
收藏
得分:0 
以下是引用★红狼在2006-7-13 17:41:27的发言:
本来 改变 指针的指向。就是改变了。所指向的内容。

双向 只有在函数中有效,其他我没试过。

那么int *ti;
ti=pa;pa=pb;pb=ti; 这个怎么解释呢?把pa 的地址值赋给ti;还是ti指向pa?

ti=pa; 是把pa指针指向的变量地址赋给指针ti,也就是说pa,ti两个指针指向同一个变量

2006-07-13 19:05
龙轩v亚风
Rank: 1
等 级:新手上路
威 望:1
帖 子:1073
专家分:0
注 册:2006-4-20
收藏
得分:0 
真是高手 讨论中  我对指针 还没研究的这么热过呢  看看  学习!

狂风扫落叶,扫把都失业!拍卖QQ:559372
2006-07-13 19:07
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-13 20:54
lxs5216
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-2-3
收藏
得分:0 
以下是引用★红狼在2006-7-13 17:41:27的发言:
本来 改变 指针的指向。就是改变了。所指向的内容。

双向 只有在函数中有效,其他我没试过。

那么int *ti;
ti=pa;pa=pb;pb=ti; 这个怎么解释呢?把pa 的地址值赋给ti;还是ti指向pa?

因为ti也是指针类型了,它里面存放的内容肯定就是地址了,三个语句交换的当然就是把pa的地址值传给ti了!!

2006-07-14 07:16
lxs5216
Rank: 1
等 级:新手上路
帖 子:144
专家分:0
注 册:2006-2-3
收藏
得分:0 
以下是引用穆扬在2006-7-13 17:03:52的发言:
双向传输 是什么意思我不懂
我的印象这不是c语言的概念
在c里面形参的改变与实参一点关系都没有
在C中,形参的改变与实参的确没有一点关系,所以对于函数来说通常只是利用函数名和return传递一个返回值,所以在老谭的书里就出现了“值传递(单向)”这样的字眼,而后一些书中就发挥出“双向”这样的名词,相信在C99这种标准里不会出现“双向”的,但是国人引入“双向”就是方便我等菜鸟理解的!!


双向给我的理解就是实现了形参与实参的联系,一般意义上理解的是函数调用,把实参的值传递给形参,参与函数内的运算,如果是“双向的”,那就会把形参的改变传递给了实参。

如果再对双向深究,那就1000000000%会出错了。因为“双向”是国 人的名词>。
2006-07-14 07:23
快速回复:指针问题面面看
数据加载中...
 
   



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

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