at在c语言中作用,Keil C51对C语言的关键词扩展之一: _at_

_at_关键词用于在定义变量时指定变量所在地址。

_at_关键词使用示例如下:

struct link

{

struct link idata *next;

char code *test;

};

struct link list idata _at_ 0x40;     /* 定义位于内部RAM低128字节区0x40地址处的 结构体 */

char xdata text[256]   _at_ 0xE000;   /* 定义位于外部RAM 0xE000地址处的 数组 */

int xdata i1           _at_ 0x8000;   /* 定义位于外部RAM 0x8000地址处的 整型变量 */

volatile char xdata IO _at_ 0xFFE8;   /* 定义地址为 0xFFE8的外部IO */

char far ftext[256]    _at_ 0x02E000; /* 定义位于外部RAM 0x2E000地址处的数组 */

void main ( void ){

link.next = (void *) 0;

i1        = 0x1234;

text [0]  = 'a';

IO        = 6;

ftext [0] = 'f';

}

在一个.c文件中如上定义,在另一个.c文件中可用如下方法引用这些变量:

struct link

{

struct link idata *next;

char        code  *test;

};

extern struct link idata list;

extern char xdata text[256];

extern int xdata i1;

extern volatile char xdata IO;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值