沙發已經告訴你了,用結構體可以返回多個數據類型,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);
}
|