#include <STC8.H>
typedef struct bb
{
char bit1;
char data1;
struct bb *site;
} bb,*aa,xdata memory[100];
memory aac;
void initlist (memory ac)
{
char i=0;
while(i<10)
{
ac[i].bit1 = 1; //是否利用
ac[i].data1 = 0; //数据
ac[i++].site = 0; //下个地址
}
}
void savechar (char aa1,aa ac1,char ad)
{
static aa ac2[10];
char i=10;
if(ac1->site == 0)
{
ac2[aa1]=ac1;
}
while (ac1[i].bit1 == 1 && i<100) i++;
ac1[i].data1 =ad;
ac1[i].bit1 =1;
ac1[i].site=ac2[aa1]->site;
ac2[aa1]->site = &ac1[i];
ac2[aa1]=&ac1[i];
}
void save (char aa2,char ad2)
{
savechar (aa2,&aac[aa2],ad2);
}
void main()
{
char i;
initlist(aac);
for(i=0;i<10;i++)
{
save(0,0xff);
save(1,0xaa);
}
while(1);
}
STC C51 多条表链声明
最新推荐文章于 2024-07-13 11:49:31 发布