|
沙發(fā)已經(jīng)告訴你了,用結(jié)構(gòu)體可以返回多個(gè)數(shù)據(jù)類型,N個(gè)!結(jié)構(gòu)體還有一個(gè)好處,就是復(fù)制,數(shù)據(jù)A的數(shù)據(jù)如果要復(fù)制到數(shù)組B的話,是不能B=A的,是有點(diǎn)麻煩的
但結(jié)構(gòu)體可以直接用 B=A;
bit是,位不能作為結(jié)構(gòu)體成員,別的單片機(jī)不知道,至少8051是不行的,但可以用一個(gè)char 來代替的,速度和代碼空間變化不大
不要管xdata,不要管R7,這是C語言,不是匯編,都這樣想,不會(huì)匯編的人都寫不出C程序來了,至于8051的16位指針,在C中用到的人少到幾乎沒有.
你在數(shù)據(jù)前面加了xdata,編譯器自然會(huì)按照xdata來尋址,
那128個(gè)字節(jié)做不也什么事的,很多時(shí)候是不夠用的,但編譯器會(huì)自動(dòng)處理的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);
}
|
|