声明中的C类型定义
嗨,上述代码在函数“main”中给出了类似声明中的C类型定义,c,variable-declaration,C,Variable Declaration,嗨,上述代码在函数“main”中给出了类似的错误: 第7行:错误:声明说明符中有两个或多个数据类型 但是,当第二行中相同的“a”被long替换时,它工作得非常好。 这个很好用 typedef长a; 外部长INTC; 请解释为什么会发生这种情况long int是一个类型名 type alias name type name被解析为两种类型,即使type alias name是long的别名,type name是int Atypedef不是宏 一旦你有了一个typedef你就不再有文本“int”了
的错误:
第7行:错误:声明说明符中有两个或多个数据类型
但是,当第二行中相同的“a”被long替换时,它工作得非常好。
这个很好用
typedef长a;
外部长INTC;
请解释为什么会发生这种情况
long int
是一个类型名
type alias name type name
被解析为两种类型,即使type alias name
是long
的别名,type name
是int
Atypedef
不是宏
一旦你有了一个
typedef
你就不再有文本“int”了,它可以与文本“long”合并形成一个新的类型。它是它自己的一级类型,将与同一声明中的另一个类型冲突。如您所见[here][1]long已经是一个类型[1]:,long
被视为long int
的缩写<代码>整数表示例如长整数
。
typedef long a;
extern a int c;