#define定义的数据类型

badcfqtd 2007-03-31 03:19:55
define定义的数据类型,有这种说法吗?
例如:
#define A 123 //这里的123是什么类型的数据?数?字符?
#define B structure man //这里的structure man是什么类型?尽管后面知道它们是声明结构体要用到的.
...全文
4763 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
reflecter 2007-03-31
  • 打赏
  • 举报
回复
哈,C的那几本经典的书上(K&R,C大全,etc),对define的两种功用都有详细的介绍。
chensanniang 2007-03-31
  • 打赏
  • 举报
回复
#define有两种用法,有带参的和不带参的,不带参的可以看作是纯字符串代换,
记得,就是一种代替,是发生在预编译,我们也叫它预处理时期.
最近看书的时候还发现:define 也可以带参,用法: #define宏名(参数列表) 字符串.
xyxfly 2007-03-31
  • 打赏
  • 举报
回复
#define 不能定义数据类型吧

仅仅是替换而已
sq_sunqi 2007-03-31
  • 打赏
  • 举报
回复
在C/C++编译前还要使用一个预处理程序,如cpp.exe来对文件中定义的宏进行宏替换。即
#define M 8
经过预处理后,程序中所有M地方都使用8代换。如果要想在后面接受输入,则应该将这条语句改为
int M = 8;
最好是
static int M = 8;
不过如果这个M是作为数组变量的大小,则在早期C语言或C++语言中是不行的。新C99语言标准可以。
aaron85 2007-03-31
  • 打赏
  • 举报
回复
#define定义的宏的会在编译的时候由编译系统替换掉,它完成的工作就是在把有A的地方换成123,把有B的地方换成structure man,这就是简单的替换,没有其它更多的操作。
至于类型判断也就是替换后的类型,123是整型的常量,在系统中实际上是int型;后面一个就没什么类型可言了,这样定义只是简化以后书写,所有要写structure man的地方写B就可以了。
rabbityxq 2007-03-31
  • 打赏
  • 举报
回复
#define只是替换而已,可以使程序便开修改和维护
zuiaitt 2007-03-31
  • 打赏
  • 举报
回复
#define只是替换.
masou1987 2007-03-31
  • 打赏
  • 举报
回复
#define的定义是默认的把!
julycy 2007-03-31
  • 打赏
  • 举报
回复
用const吧,可以对类型进行检查。
如const int M = 8;
freemonday2002 2007-03-31
  • 打赏
  • 举报
回复
define 主要是方便程序员自定义的数据类型,跟你定义的标准数据类型是等同的效果。不用该定义也是可以的,但当程序大的时候这种优点就会显现出来
jixingzhong 2007-03-31
  • 打赏
  • 举报
回复
#define B structure man //这里的structure man是什么类型?尽管后面知道它们是声明结构体要用到的

就是后面声明的类型 ~

define 只是替换,
不需要完成类型定义的 ~
jixingzhong 2007-03-31
  • 打赏
  • 举报
回复
#define A 123 //这里的123是什么类型的数据?数?字符?

unsigned int
数值的默认类型 ~
pomiox 2007-03-31
  • 打赏
  • 举报
回复
仅仅是替换而已
就这样简单

33,320

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧