此处为何用了指针?
这是一个用NIOS做的ov7670摄像头驱动,为何用了指针? 这是个读寄存器值的函数,读出的值放到某个地址;调用时将预先定义的数组作为它的第二个参数传入即可,读出的值就在数组中了。 在形参中用指针形式保存变量,是种常见而实用的编程技巧 学习了!那把regDat定义为全局变量也是可以的吧? 跟是否全局变量无关是否定义成全局变量取决于调用这个函数时regdat 地址中的数据要如何使用
第一:这个指针是做什么的?
调用这个函数时,给他规定一个地址,当函数运行结束后会在这个地址存放一些需要的信息,指针只给出一个首地址,所以存放的信息可以是char 或者char为单元的数组等等,可以是一堆需要的数据。这种方式实现了不利用return的方式将数据传递到其他函数中,并且是用形参的方式。
第二:为什么这么用?
这是一种子函数传递数据的方法,相比之下还有几种方法
1、return 但是这里 return返回了1说明此函数需要返回一个运行状态所以return不能给你随便用了
2、全局变量传递数据,或者地址;这是一种浪费ram的做法(也是为啥尽量不要regDat全局化)
所以就用这种调用时给出地址告诉他往这个地方写 调用结束后 数据自然在这里了
页:
[1]