#define定义的数据类型,该如何解决

#define定义的数据类型define定义的数据类型,有这种说法吗?例如:#defineA123//这里的123是什么类型的数据?

#define定义的数据类型
define定义的数据类型,有这种说法吗?
例如:
#define   A   123   //这里的123是什么类型的数据?数?字符?
#define   B   structure   man   //这里的structure   man是什么类型?尽管后面知道它们是声明结构体要用到的.

[解决办法]
#define A 123 //这里的123是什么类型的数据?数?字符?

unsigned int
数值的默认类型 ~
[解决办法]
#define B structure man //这里的structure man是什么类型?尽管后面知道它们是声明结构体要用到的

就是后面声明的类型 ~

define 只是替换,
不需要完成类型定义的 ~
[解决办法]
#define定义的宏的会在编译的时候由编译系统替换掉,它完成的工作就是在把有A的地方换成123,把有B的地方换成structure man,这就是简单的替换,没有其它更多的操作。
至于类型判断也就是替换后的类型,123是整型的常量,在系统中实际上是int型;后面一个就没什么类型可言了,这样定义只是简化以后书写,所有要写structure man的地方写B就可以了。
[解决办法]
在C/C++编译前还要使用一个预处理程序,如cpp.exe来对文件中定义的宏进行宏替换。即
#define M 8
经过预处理后,程序中所有M地方都使用8代换。如果要想在后面接受输入,则应该将这条语句改为
int M = 8;
最好是
static int M = 8;
不过如果这个M是作为数组变量的大小,则在早期C语言或C++语言中是不行的。新C99语言标准可以。
[解决办法]
#define 不能定义数据类型吧

仅仅是替换而已

[解决办法]
#define有两种用法,有带参的和不带参的,不带参的可以看作是纯字符串代换,
记得,就是一种代替,是发生在预编译,我们也叫它预处理时期.
最近看书的时候还发现:define 也可以带参,用法: #define宏名(参数列表) 字符串.

[解决办法]
哈,C的那几本经典的书上(K&R,C大全,etc),对define的两种功用都有详细的介绍。

[解决办法]
仅仅是替换而已
就这样简单
[解决办法]
define 主要是方便程序员自定义的数据类型,跟你定义的标准数据类型是等同的效果。不用该定义也是可以的,但当程序大的时候这种优点就会显现出来
[解决办法]
用const吧,可以对类型进行检查。
如const int M = 8;
[解决办法]
#define只是替换.
[解决办法]
#define只是替换而已,可以使程序便开修改和维护