标题:一个指针与数组的小问题
只看楼主
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
 问题点数:0 回复次数:9 
一个指针与数组的小问题
假设我在main函数里定义了一个数组arr[100]
定义了2个函数fun_1, fun_2;并都把arr的地址传进去
如:
int main ()
{
int arr[100];

fun_1 (arr);
fun_2 (arr);
}

我在fun_1对arr进行了一系列操作后,
在fun_2中也想对原来的数组进行操作,请问要怎么弄????
程序经过fun_1后,arr地址的东西全变了
搜索更多相关主题的帖子: 指针 定义 arr main 
2007-01-30 00:12
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
得分:0 
我是用一个新数组复制了原数组的数~这样对付2个函数倒还可以,那要是原来的数组很大,或者有更多的函数要调用该数组,总不能一一复制吧?求方法~~~~~

2007-01-30 00:19
tyc611
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-1-21
得分:0 
以下是引用davidloves在2007-1-30 0:19:50的发言:
我是用一个新数组复制了原数组的数~这样对付2个函数倒还可以,那要是原来的数组很大,或者有更多的函数要调用该数组,总不能一一复制吧?求方法~~~~~

如果要满足你的要求,只能这样
除非你在fun_1中能够把数组恢复成处理前的样子


2007-01-30 00:33
hiaod
Rank: 1
等 级:新手上路
威 望:1
帖 子:66
专家分:0
注 册:2007-1-25
得分:0 
以数组名作为实参,就是传送数组的首地址,子函数中对传送过来的数组操作都是对主调函数中数组的操作。如果要保持原数组的值不变,那只能在子函数中复制一个数组进行操作。
2007-01-30 00:43
xu2000
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:51
帖 子:3890
专家分:56
注 册:2006-4-8
得分:0 
把数组做为全局变量,在函数中不传数组,只做一个临时变量,用它做数组的副本。

我会拿出我全部的钱财,以保你衣食无忧。我会献出我所有的智慧,以助你一帆风顺。我会想到所有的笑语,以令你展眉开颜。我会挤出最长的时间,以使你终生幸福。        [本人原创的结婚宣言]
2007-01-30 00:51
davidloves
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-1-6
得分:0 

楼上的大哥,不是很明白你的思想,麻烦写一个小例子.谢谢了


2007-01-30 12:30
slong
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-11-9
得分:0 

在fun_1中定义一个跟arr一样大小的数组,把arr复制过去,用复制的数组来处理

2007-01-30 15:59
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
得分:0 

我觉得没什么办法了,只能这样了。


~~我的明天我知道~~
2007-01-30 16:41
linsq
Rank: 1
等 级:新手上路
帖 子:120
专家分:0
注 册:2006-11-20
得分:0 

struct能用吗??


2007-01-30 21:22
jkmaple
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-1-15
得分:0 

应该设一个全局变量,把数组定义在main()函数外面,


2007-01-31 18:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-118792-1-1.html




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

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