zcy0517 发表于 2014-3-7 23:04:57

此处为何用了指针?

这是一个用NIOS做的ov7670摄像头驱动,为何用了指针?

sunliezhi 发表于 2014-3-8 00:15:46

这是个读寄存器值的函数,读出的值放到某个地址;
调用时将预先定义的数组作为它的第二个参数传入即可,读出的值就在数组中了。

cshp138 发表于 2014-3-8 00:59:39

在形参中用指针形式保存变量,是种常见而实用的编程技巧

zcy0517 发表于 2014-3-8 09:07:43

学习了!那把regDat定义为全局变量也是可以的吧?

wear778899 发表于 2014-3-8 09:32:23

跟是否全局变量无关是否定义成全局变量取决于调用这个函数时regdat 地址中的数据要如何使用

第一:这个指针是做什么的?
       调用这个函数时,给他规定一个地址,当函数运行结束后会在这个地址存放一些需要的信息,指针只给出一个首地址,所以存放的信息可以是char 或者char为单元的数组等等,可以是一堆需要的数据。这种方式实现了不利用return的方式将数据传递到其他函数中,并且是用形参的方式。

第二:为什么这么用?
      这是一种子函数传递数据的方法,相比之下还有几种方法
      1、return   但是这里 return返回了1说明此函数需要返回一个运行状态所以return不能给你随便用了
      2、全局变量传递数据,或者地址;这是一种浪费ram的做法(也是为啥尽量不要regDat全局化)
   所以就用这种调用时给出地址告诉他往这个地方写   调用结束后   数据自然在这里了
页: [1]
查看完整版本: 此处为何用了指针?