gpt4 book ai didi

c - 类型定义,#define

转载 作者:行者123 更新时间:2023-12-04 11:55:12 25 4
gpt4 key购买 nike

谁能解释一下

#define int* char

typedef int* char;

最佳答案

没有区别,因为两者都是非法的。

int* 不是宏的有效标识符,即使您放入空格,int 也不是,因为它是一个关键字并且是保留的。即使您将它切换为您可能想要的 #define char int*,它也会因为同样的原因而失败。

而且您不能重新定义类型 char,所以 typedef 是一个半身像。


不同之处在于,如果您给出的示例是合法的,那么 #define 是一个预处理指令。它只在编译阶段之前进行文本替换。相反,typedef 定义了一个新类型,并且该新类型标识符像任何其他类型一样遵守“规则”。

关于c - 类型定义,#define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3316474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com