| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 694 人关注过本帖
标题:指针 数组问题
只看楼主 加入收藏
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:5 
指针 数组问题
程序代码:
# include <stdio.h>

void copy_arr(double ar_s[], double ar_t[], int size);
void copy_ptr(double pt_s[], double pt_t[], int size);
void print(double n[], int size);

int main (void)
{
    double source[5] = {1.1, 2.2, 3.3, 4.4, 5.5};
    double target1[5];
    double target2[5];

    copy_arr(source, target1, 5);
    copy_ptr(source, target2, 5);

    print(target1, 5);
    print(target2, 5 );

    return 0;
}

void copy_arr(double ar_s[], double ar_t[], int size)
{
    int i;
    for (i=0; i<size; ++i)
        ar_t[i] = ar_s[i];        //为什么只要这一句,target1就得到赋值!!!
}

void copy_ptr(double pt_s[], double pt_t[], int size)
{
    double *ptr;
    int i;
    for (i=0,ptr=pt_s; i<size; ++i, ++ptr)
        pt_t[i] = *ptr;
}

void print(double n[], int size)
{
    int i;
    for (i=0; i<size; ++i)
        printf ("%5.1lf", n[i]);
    printf ("\n");
}
这是一道c primer plus 5th 的一道题,第十章。

为什么copy_arr函数能够给target1赋值,不是说函数赋值要return的吗?还是因为,发送的是数组地址。
2014-06-27 09:40
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:4 
回复 楼主 FangMengHao
是的,入参是数组

总有那身价贱的人给作业贴回复完整的代码
2014-06-27 09:50
michaelHeave
Rank: 2
来 自:水泊梁山
等 级:论坛游民
帖 子:7
专家分:11
注 册:2014-2-12
收藏
得分:4 
那里面不是一句。那不是循环复制吗
在调用的时候,copy_arr的第二个参数是数据的首地址。

Michael:我不抽烟,我不喝酒,然后我喜欢跟小朋友在一起
2014-06-27 09:54
魑魅魍魉!
Rank: 3Rank: 3
来 自:亲爱MM肚子里!
等 级:论坛游侠
威 望:1
帖 子:61
专家分:149
注 册:2014-5-3
收藏
得分:4 
有时候数组不是可以当指针用?
2014-06-27 10:26
sroot
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2014-6-25
收藏
得分:4 
没听说过。。。
2014-06-27 10:31
徳智
Rank: 2
来 自:河北秦皇岛市
等 级:论坛游民
帖 子:9
专家分:13
注 册:2014-6-25
收藏
得分:4 
对于一维数组,形如a[],a就是这个数组的地址,也叫这个数组的首地址,也就是a[0]的地址,你在函数间传递的target1等就是所谓的a[]中的a,所以传的就是数组的地址

测试环境VC++6.0
2014-06-27 20:00
快速回复:指针 数组问题
数据加载中...
 
   



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

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