找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4314|回复: 16
打印 上一主题 下一主题
收起左侧

关于C51单片机数组返回及调用

  [复制链接]
跳转到指定楼层
楼主
ID:366929 发表于 2019-6-4 12:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一传感器会同时输出两个不同数据(整型),我想把他们写进一个数组,然后函数返回这个数组给主函数调用读取,我该怎么写?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:415123 发表于 2019-6-5 05:55 | 只看该作者
使用指针啊
回复

使用道具 举报

板凳
ID:123289 发表于 2019-6-5 08:33 | 只看该作者
如果你不会读取数组中的一个元素,就不要用数组。
回复

使用道具 举报

地板
ID:93224 发表于 2019-6-5 17:46 | 只看该作者
可以利用指针,或者提前设置一个全局变量
回复

使用道具 举报

5#
ID:498595 发表于 2019-6-6 08:22 | 只看该作者
使用指针或者全局变量
回复

使用道具 举报

6#
ID:556426 发表于 2019-6-6 14:42 | 只看该作者
利用全局变量,将它们写进数组,在函数里面可以直接改变数组的值,然后在主函数可以直接使用
回复

使用道具 举报

7#
ID:249703 发表于 2019-6-6 16:32 | 只看该作者
返回值返回一个指针,这个指针指向这个数组头
回复

使用道具 举报

8#
ID:388197 发表于 2019-6-6 17:05 | 只看该作者
最简单的办法还是写个结构体,里面两个元素对应你每次传回的两个数据.再用这个结构体定义个数组就行了.
回复

使用道具 举报

9#
ID:556780 发表于 2019-6-6 19:50 | 只看该作者
建议使用全局变量。
回复

使用道具 举报

10#
ID:514901 发表于 2019-6-7 11:01 | 只看该作者
设一个全局数组,或者用指针。
回复

使用道具 举报

11#
ID:558085 发表于 2019-6-10 23:53 | 只看该作者
这种案例很多,去看看LCD12864从数组中取字符或汉字的代码入明白了。
回复

使用道具 举报

12#
ID:380987 发表于 2021-3-13 11:39 | 只看该作者
建议使用全局变量。
回复

使用道具 举报

13#
ID:891435 发表于 2021-3-13 12:55 | 只看该作者
用指针吧
回复

使用道具 举报

14#
ID:891435 发表于 2021-3-13 12:55 | 只看该作者
全局变量也可以
回复

使用道具 举报

15#
ID:738987 发表于 2021-3-13 13:59 | 只看该作者
这个很简单,这样写就可以了
回复

使用道具 举报

16#
ID:738987 发表于 2021-3-13 14:02 | 只看该作者
本帖最后由 comeon刘 于 2021-3-13 14:07 编辑

unsigned char arry[] = {0};

void()
{
      arr_   
}

void arry_Read(unsigned char arr[],unsigned char cnt)
{
      unsigned char i;
      for(i;i<cnt;i++){



}   

}
回复

使用道具 举报

17#
ID:738987 发表于 2021-3-13 14:06 | 只看该作者

unsigned char arr[] = {0};

int main()
{
      arr_Read(arr,sizeof(arr)/sizeof(arr[0]));
}
void arr_Read(unsigned char arr[],unsigned cahr cnt) //如果写在main后面,记得声明
{
     unsigned char i;
     for(i=0;i<cnt;i++){

         arr[] = 要读取调用的函数;
    }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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