找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3330|回复: 16
收起左侧

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

  [复制链接]
ID:366929 发表于 2019-6-4 12:11 | 显示全部楼层 |阅读模式
有一传感器会同时输出两个不同数据(整型),我想把他们写进一个数组,然后函数返回这个数组给主函数调用读取,我该怎么写?
回复

使用道具 举报

ID:415123 发表于 2019-6-5 05:55 | 显示全部楼层
使用指针啊
回复

使用道具 举报

ID:123289 发表于 2019-6-5 08:33 | 显示全部楼层
如果你不会读取数组中的一个元素,就不要用数组。
回复

使用道具 举报

ID:93224 发表于 2019-6-5 17:46 | 显示全部楼层
可以利用指针,或者提前设置一个全局变量
回复

使用道具 举报

ID:498595 发表于 2019-6-6 08:22 | 显示全部楼层
使用指针或者全局变量
回复

使用道具 举报

ID:556426 发表于 2019-6-6 14:42 | 显示全部楼层
利用全局变量,将它们写进数组,在函数里面可以直接改变数组的值,然后在主函数可以直接使用
回复

使用道具 举报

ID:249703 发表于 2019-6-6 16:32 | 显示全部楼层
返回值返回一个指针,这个指针指向这个数组头
回复

使用道具 举报

ID:388197 发表于 2019-6-6 17:05 | 显示全部楼层
最简单的办法还是写个结构体,里面两个元素对应你每次传回的两个数据.再用这个结构体定义个数组就行了.
回复

使用道具 举报

ID:556780 发表于 2019-6-6 19:50 | 显示全部楼层
建议使用全局变量。
回复

使用道具 举报

ID:514901 发表于 2019-6-7 11:01 | 显示全部楼层
设一个全局数组,或者用指针。
回复

使用道具 举报

ID:558085 发表于 2019-6-10 23:53 | 显示全部楼层
这种案例很多,去看看LCD12864从数组中取字符或汉字的代码入明白了。
回复

使用道具 举报

ID:380987 发表于 2021-3-13 11:39 | 显示全部楼层
建议使用全局变量。
回复

使用道具 举报

ID:891435 发表于 2021-3-13 12:55 | 显示全部楼层
用指针吧
回复

使用道具 举报

ID:891435 发表于 2021-3-13 12:55 | 显示全部楼层
全局变量也可以
回复

使用道具 举报

ID:738987 发表于 2021-3-13 13:59 | 显示全部楼层
这个很简单,这样写就可以了
回复

使用道具 举报

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++){



}   

}
回复

使用道具 举报

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 单片机教程网

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