标题: 关于C51单片机数组返回及调用 [打印本页]

作者: dowinggyy    时间: 2019-6-4 12:11
标题: 关于C51单片机数组返回及调用
有一传感器会同时输出两个不同数据(整型),我想把他们写进一个数组,然后函数返回这个数组给主函数调用读取,我该怎么写?
作者: honey_teck    时间: 2019-6-5 05:55
使用指针啊
作者: yzwzfyz    时间: 2019-6-5 08:33
如果你不会读取数组中的一个元素,就不要用数组。
作者: lele5211314    时间: 2019-6-5 17:46
可以利用指针,或者提前设置一个全局变量
作者: jslysong    时间: 2019-6-6 08:22
使用指针或者全局变量
作者: 小跑的芥子    时间: 2019-6-6 14:42
利用全局变量,将它们写进数组,在函数里面可以直接改变数组的值,然后在主函数可以直接使用
作者: 小清新    时间: 2019-6-6 16:32
返回值返回一个指针,这个指针指向这个数组头
作者: cjm82    时间: 2019-6-6 17:05
最简单的办法还是写个结构体,里面两个元素对应你每次传回的两个数据.再用这个结构体定义个数组就行了.
作者: dfhero    时间: 2019-6-6 19:50
建议使用全局变量。
作者: 郑汉松    时间: 2019-6-7 11:01
设一个全局数组,或者用指针。
作者: 那小白说你呢    时间: 2019-6-10 23:53
这种案例很多,去看看LCD12864从数组中取字符或汉字的代码入明白了。
作者: 简单互动    时间: 2021-3-13 11:39
建议使用全局变量。
作者: 123111@    时间: 2021-3-13 12:55
用指针吧
作者: 123111@    时间: 2021-3-13 12:55
全局变量也可以
作者: comeon刘    时间: 2021-3-13 13:59
这个很简单,这样写就可以了
作者: comeon刘    时间: 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++){



}   

}
作者: comeon刘    时间: 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[] = 要读取调用的函数;
    }
}





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1