| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 992 人关注过本帖
标题:各位各位,来探讨下指针在函数里面的用法。
只看楼主 加入收藏
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
Java和C没啥可比性 一个面向过程一个面向对象
2012-12-26 18:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
面向对象和面向过程,不是互斥的。

授人以渔,不授人以鱼。
2012-12-26 18:12
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
对于“抛砖引玉”来说,我绝对是块合格的砖头,你看,把我抛出去后大火能学到多少东西啊,所以,感谢我吧。
两位版主,你们继续,我这学着呢

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-26 18:15
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
版主,那是不是学好了C,在学c++和JAVA就不用这么费劲了啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-26 18:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不管学什么语言,关键是理解本质。理解本质了,就不费劲,不然,更费劲。

授人以渔,不授人以鱼。
2012-12-26 19:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
看看下面两个代码吧,功能是一样的,但可以比较一下谁更清晰。

指针版:
程序代码:
void swap(int* a, int* b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}


引用版:
程序代码:
void swap(int& a, int& b)
{
    int temp = a;
    a = b;
    b = temp;
}


对前者,调用代码是swap(&x, &y),后者,调用代码是swap(x, y)。

引用版使用的符号没有指针版那么多,而且看起来比指针版的清晰许多,明明就是交换x、y的值,swap(x, y)不是比swap(&x, &y)更容易阅读吗?

授人以渔,不授人以鱼。
2012-12-26 21:28
朱三哥
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:311
专家分:359
注 册:2012-12-11
收藏
得分:3 
回复 10楼 TonyDeng
你这个欺负人嘛  一个劲的要别人学语言

哥,破你无线很难的,不要老是改,少看路由器上的灯,你会死啊
2012-12-26 22:19
空白先生
Rank: 2
等 级:论坛游民
帖 子:115
专家分:95
注 册:2012-12-9
收藏
得分:0 
回复 9楼 zklhp
soga

printf("My goal is to be  good at computer")
2012-12-27 10:49
空白先生
Rank: 2
等 级:论坛游民
帖 子:115
专家分:95
注 册:2012-12-9
收藏
得分:0 
回复 8楼 yaobao
试过了,结果eror消失了,可是输入之后突然蹦出一个应用程序错误,我写的试验原码如下:
#include<stdio.h>
int main()
{
    int *p;
    int i,j;
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%d",(p+i)+j);
       for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            printf("%d",*((p+i)+j));
        printf("\n");
    return 0;
}
猫哥,小白同志的幸福掌握在你的爪子里了

printf("My goal is to be  good at computer")
2012-12-27 10:53
空白先生
Rank: 2
等 级:论坛游民
帖 子:115
专家分:95
注 册:2012-12-9
收藏
得分:0 
回复 2楼 yaobao
可是我在学指针之前都是用数组作为实参的,突然要我们改成指针,有点不习惯唉,而且现在在写东西的时候莫名其妙地强迫起自己要用指针,结果原本很简单的东西要写很久,是不是很悲剧的啦。。

printf("My goal is to be  good at computer")
2012-12-27 11:01
快速回复:各位各位,来探讨下指针在函数里面的用法。
数据加载中...
 
   



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

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