#define 重定义函数问题我在windows核心编程里看到这个宏#define chmalloc(nCharacters) (TCHAR*)malloc(nCharacters* sizeof(TCHAR))以前接触define 都是 #define + 标识符 +字符串没见过这种 函数 + 函数的请具体帮我

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 09:00:59
#define 重定义函数问题我在windows核心编程里看到这个宏#define chmalloc(nCharacters) (TCHAR*)malloc(nCharacters* sizeof(TCHAR))以前接触define 都是 #define + 标识符 +字符串没见过这种 函数 + 函数的请具体帮我

#define 重定义函数问题我在windows核心编程里看到这个宏#define chmalloc(nCharacters) (TCHAR*)malloc(nCharacters* sizeof(TCHAR))以前接触define 都是 #define + 标识符 +字符串没见过这种 函数 + 函数的请具体帮我
#define 重定义函数问题
我在windows核心编程里看到这个宏
#define chmalloc(nCharacters) (TCHAR*)malloc(nCharacters* sizeof(TCHAR))
以前接触define 都是 #define + 标识符 +字符串
没见过这种 函数 + 函数的
请具体帮我说明下这种宏是怎么定义的.

#define 重定义函数问题我在windows核心编程里看到这个宏#define chmalloc(nCharacters) (TCHAR*)malloc(nCharacters* sizeof(TCHAR))以前接触define 都是 #define + 标识符 +字符串没见过这种 函数 + 函数的请具体帮我
chmalloc(nCharacters) 就等价于 (TCHAR*)malloc(nCharacters* sizeof(TCHAR))
chmalloc(nCharacters) 以函数的方式调用,其中chmalloc(nCharacters)中的
nCharacters替换(TCHAR*)malloc(nCharacters* sizeof(TCHAR))中的nCharacters,
举个例子:
chmalloc(5) 和 (TCHAR*)malloc(5* sizeof(TCHAR)) 等价.
a=chmalloc(100) 和 a=(TCHAR*)malloc(100* sizeof(TCHAR)) 等价.
编译器编译时,会自动将前者替换成后者形式.
中你查一查“#define 的作用”一章.
建议你加强基本功,我是按学习实例的方法学习的,
最后也过了一边基本功,基本功非常重要.