沙发已经告诉你了,用结构体可以返回多个数据类型,N个!结构体还有一个好处,就是复制,数据A的数据如果要复制到数组B的话,是不能B=A的,是有点麻烦的
但结构体可以直接用 B=A;
bit是,位不能作为结构体成员,别的单片机不知道,至少8051是不行的,但可以用一个char 来代替的,速度和代码空间变化不大
不要管xdata,不要管R7,这是C语言,不是汇编,都这样想,不会汇编的人都写不出C程序来了,至于8051的16位指针,在C中用到的人少到几乎没有.
你在数据前面加了xdata,编译器自然会按照xdata来寻址,
那128个字节做不也什么事的,很多时候是不够用的,但编译器会自动处理的typedef struct
{
unsigned char a;
char k;
} stru;
stru disp(unsigned char m)
{
stru p;
p.a=m+1;
p.k=m+10;
return p;
}
void main()
{
unsigned char a,b;
stru m;
m=disp(5);
a=m.a;
b=m.k;
while(1);
}
|