main中的无类型参数[重复]
Posted
技术标签:
【中文标题】main中的无类型参数[重复]【英文标题】:Untyped arguments in main [duplicate] 【发布时间】:2011-07-02 19:09:36 【问题描述】:可能重复:“int main (vooid)”? How does that work?
main(a,b,c)
a=1;
b=2;
c=3;
printf("%d %d %d",a,b,c);
三个整数参数a
,b
,c
在 main 中如何可能,因为我们知道第二个形参必须是指向字符指针的指针?
【问题讨论】:
【参考方案1】:a) 指针(几乎总是)整数 b) 一些环境,包括 windows 允许三个参数。
编辑:可识别的指针并不总是整数。
【讨论】:
不,它们不是整数,它们可以是整数,但绝对不必是整数。 @wich:我会更进一步。它们从不整数,只是可能与整数大小相同。 作为 int 和与 int 无法区分有什么区别?这不是一种所有表示都是超自然的高级语言。 @Marcin:说“指针通常是 int”与说“float 通常是 int”一样有意义。 @Oli Charlesworth:如果我见过一个似是而非的类比。 float 和 int 在算术运算下的行为是不同的,即使它们的长度相同。相比之下,将指针转换为 int(假设它们的长度相同)并执行算术运算将得到完全相同的结果,就好像没有发生转换一样。【参考方案2】:这种语法在 C 中已弃用。只是不要使用它
【讨论】:
【参考方案3】:参数参数隐式为int
,除非您另外指定。
main
只需要在 托管 平台上是 main(void)
或 main(int, char **)
(即基本上在操作系统下运行)。在独立实现中,main
的原型是实现定义的。
【讨论】:
以上是关于main中的无类型参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章
参数类型“Widget”不能分配给参数类型“PreferredSizeWidget?”。颤动中的appBar发生错误[重复]