51单片机中,指针函数 在C语言程序 如何使用?

现在使用的一款类似于51的单片机。其中一个子函数需要返回5个字节的数据,因此想用一下“指针函数”,将5个字节的数放在一个数组里面。最后,返回这个数组的地址,即指针。可是,... 现在使用的一款类似于51的单片机。其中一个子函数需要返回5个字节的数据,因此想用一下“指针函数”,将5个字节的数放在一个数组里面。最后,返回这个数组的地址,即指针。
可是,单片机函数执行完以后会释放空间,会不会返回的指针变量在运算的时,此时该地址的数据已经改变了呢?
暂时还不想用全局变量来定义数组,全局变量又一直占用资源了。
求一位高手指导一下!!谢谢!!
展开
 我来答
匿名用户
2014-08-15
展开全部
你好,比较方便的实现方式是在函数的外部申请数组;在调用函数的时候传入数组的地址进行操作。如果一定要在子函数内部申请空间并返回地址,那么需要在子函数内部动态申请内存空间。具体的方法一般是使用标准库中的malloc函数。对于c51函数库,参考这个链接:http://www.keil.com/support/man/docs/c51/c51_malloc.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-08-16
展开全部
指针读取数组,你可以定义一个全局数组变量,要比指针方便。以后的函数就直接访问这个数组就行了,
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cshoney
2014-08-15 · TA获得超过9327个赞
知道大有可为答主
回答量:8694
采纳率:85%
帮助的人:4604万
展开全部
我们 给 单片机函数 起个名字 void get5Bytes(char* buf)

在调用get5Bytes时传入一个5字节的数组buf,这样就不用担心函数返回时内存被销毁啦
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老师去了baby
2014-08-15 · 超过19用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:47.7万
展开全部
你调用函数的时候是需要给地址的啊,比如说你在主函数中调用子函数,给子函数传递一个地址参数,这个地址是在主函数中的,子函数执行完也不会释放空间,只有主函数执行完才会。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cnhbxtxzw
2014-08-15
知道答主
回答量:68
采纳率:0%
帮助的人:23.1万
展开全部
先定义一个还有五个字节的数组,把地儿占着
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式