这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 关于定义指针

共6条 1/1 1 跳转至

关于定义指针

菜鸟
2013-08-12 12:11:22     打赏
#include“absacc.h”
#define c654_a_cs XBYTE[0x2000]
#define c654_a_dll XBYTE[0x2000]
#define c654_a_dlm XBYTE[0x2001]
#define c654_a_ier XBYTE[0x2001]
#define c654_a_rhr XBYTE[0x2000]
#define c654_a_thr XBYTE[0x2000]
#define c654_a_isr XBYTE[0x2002]
#define c654_a_fcr XBYTE[0x2002]
#define c654_a_lcr XBYTE[0x2003]
#define c654_a_mcr XBYTE[0x2004]
#define c654_a_efr XBYTE[0x2002]
#define c654_a_lsr XBYTE[0x2005]
这种定义指针的方法和我下面写的有什么不同?
unsigned int * c654_a_cs= (unsigned * )0x2000;
unsigned int * c654_a_dll=(unsigned * )0x2000;
unsigned int * c654_a_dlm=(unsigned * )0x2001;
unsigned int * c654_a_ier=(unsigned * )0x2001;
unsigned int * c654_a_rhr=(unsigned * )0x2000;
unsigned int * c654_a_thr=(unsigned * )0x2000;
unsigned int * c654_a_isr=(unsigned * )0x2002;
unsigned int * c654_a_fcr=(unsigned * )0x2002;
unsigned int * c654_a_lcr=(unsigned * )0x2003;
unsigned int * c654_a_mcr=(unsigned * )0x2004;
unsigned int * c654_a_efr=(unsigned * )0x2002;
unsigned int * c654_a_lsr=(unsigned * )0x2005;



关键词: 指针     c8051f021访问外部ram    

高工
2013-08-12 12:18:32     打赏
2楼

一个是预编译,一个是全局/局部定义,能达到的一样的功能

如果这几个是常用的,建议用预编译,如果不太常用,建议全局/局部定义


高工
2013-08-12 12:25:49     打赏
3楼

以下个人看法。

建议还是不要用#define去定义指针。

用#define定义的话,指针的地址在程序里面不能够再发生变化了,只能够作为一个指向不能变化的指针看待。

用变量定义或者typedef的方法定义比较好。

指针嘛,指向不能变的话,就死板了。


菜鸟
2013-08-12 12:28:48     打赏
4楼
预编译是不是每次往指针里面写数之前都要再从新付一下地址?

菜鸟
2013-08-12 12:31:14     打赏
5楼

我的第二种定义方式是不是就属于typedef?我刚学指针还请指点……


高工
2013-08-12 17:33:14     打赏
6楼
表示同意

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]