独闷闷网

 找回密码
 立即注册
搜索
查看: 2183|回复: 0
收起左侧

[原创] 定义一个指针变量*str,为什么函数体中却变成了数组?已解答。

[复制链接]
发表于 2015-3-15 10:22:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jianhong_wu 于 2015-3-15 11:08 编辑

曹健-江苏:
  1. //中值滤波,算法:先进行排序,然后将数组的中间值作为当前值返回
  2. U16 Error_Correct(U16 *str,U8 num)
  3. {
  4.         U8 i=0;
  5.         U8 j=0;
  6.         U16 Temp=0;
  7.         U16 shu;
  8.         //排序
  9.         for(i=0;i<num-1;i++)
  10.         {
  11.                 for(j=i+1;j<num;j++)
  12.                 {
  13.                         if(str[i]<str[j])
  14.                         {
  15.                                 Temp=str[i];
  16.                                 str[i]=str[j];
  17.                                 str[j]=Temp;
  18.                         }        
  19.                 }
  20.         }

  21.         shu=str[3]+str[4]+str[5]+str[6];

  22.         //去除误差,取中间值
  23.         return shu/4;
  24. }
复制代码

定义一个指针变量*str,为什么函数体中却变成了数组?

流氓兔--陕西:
指针不是和数组一样吗,可以相互替换。

曹健-江苏:
是这样吗?指针和数组可以替换?

坚鸿-深圳:
指针跟数组的表现形式是可以互换的,你就当做凡是指针做形参的,在函数内部都可以直接当数组来用,因为指针代表着数组的首个地址。指针和数组是可以替换的,因为它们有一个共同点,地址都是依次相邻的。我们之所以要指针,是因为指针的写法比较简洁。

宝藏-云南:
指针的所指地址可以改变。数组的首地址定下来的。


小谢-福建:
指针是高富帅,数组是屌丝。

优时优客--安徽:
数组首地址不接受指针运算的,这是区别。

曹健-江苏:
理解了,谢谢诸位,这个还没有看到, 需要再强化一下C语言。

小谢-福建:
指针比数组强大呀。

Tony--青岛:
能用好一种就行了,只要功能满足。


Ray-上海:
指针.png
这句话是有问题的。指针和数组不一定能替换。

Zed-青岛:
一维可以吧。

优时优客--安徽:
大部分场景都能替换。

Ray-上海:
不能用替换来说明。只能说明二者有共同点。

坚鸿-深圳:
不纠结那个概念。那个指针跟数组的互换是针对特定场合下的。

Ray-上海:
不是概念。不是纠结,这个问题不要混淆了。

伟仔-肇庆:
数组能做的事,指针都能做,指针能做的事,数组很多都做不了。指针与数组,可以看朱老师技术贴,一定意义上,数组与指针,半毛钱关系也没有。

优时优客--安徽:
指针和数组是不同的数据类型。

伟仔-肇庆:
我第一次知道朱老师,就是看他的公开课,讲的就是指针与数组的嗯嗯怨怨,开篇立论就是,数组与指针没关系。

Ray-上海:
一定要记得指针是什么东西,要搞清楚内存、地址概念是什么,变量是如何在内存中存放的,而且指针这个东西是把双刃剑,用的好可以披荆斩棘,用得不好则会刺得自己鲜血淋漓。指针可以用来引用数组元素,因为指针指向地址,而数组的首元素有一个固定地址。

肖亚平--成都:
指针就像情人,用的时候一定要注意,要不然就带来巨大的灾难。

坚鸿-深圳:
其实我感觉,在单片机的领域里,指针的应用也挺简单的,不涉及到指针内存泄露的问题,也不存在指针释放的问题,没有大家想象中那么恐怖。

肖亚平--成都:
只要明白,指针只能赋值变量地址就可以了,我一般是这样理解,但是用还是没有问题。

优时优客--安徽:
一些教科书开篇就讲C指针怎么样的难,怎么样的容易出错,给人一种不好的感觉,从心理打击人。我觉得学习东西从实践中学是最好的 有次群里有个人说了句话,是相等好的,做就是了,错了又不会怀孕。意思是学东西不要苟泥于形式内容,实践出真知,多实践,自然就掌握了,学C多敲敲代码,即使出错了又不会怀孕。

坚鸿-深圳:
正如郭天翔所说“缺什么补什么”,我在《从业将近十年!手把手教你单片机程序框架》中,总结过指针的5大用途,

指针5大用途.png
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-9-20 10:57 , Processed in 0.178808 second(s), 21 queries .

快速回复 返回顶部 返回列表