C auto关键字在哪里使用?

在大学时代,我读到了有关auto关键字的信息,但随着时间的流逝,我实际上忘记了它的含义。它定义为:


将局部变量定义为具有局部生存期


我从来没有发现它在任何地方都在使用,它是否真正在使用,如果是,那么在哪里使用?在什么情况下使用?


眼眸繁星
浏览 478回答 3
3回答

UYOU

auto是类似的修饰符static。它定义了变量的存储类。但是,由于局部变量的默认值为auto,因此通常不需要手动指定它。此页面列出了C中的不同存储类别。

郎朗坤

该auto关键字是在C语言中无用。之所以这样,是因为在C语言之前,存在一种B语言,其中使用该关键字来声明局部变量是必需的。(B被开发为NB,后来变成了C)。这是B的参考手册。如您所见,该手册中包含大量示例auto。之所以如此,是因为没有int关键字。需要使用某种关键字来说“这是变量的声明”,并且该关键字还指示它是局部变量还是外部变量(auto与extrn)。如果您不使用任何一个,则将出现语法错误。也就是说,x, y;它本身不是声明,而是声明auto x, y;。由于在开发语言时必须将用B编写的代码库移植到NB和C上,因此该语言的较新版本带来了一定的负担,从而提高了向后兼容性,从而减少了工作量。在的情况下auto,程序员不必搜寻每次出现的情况auto并将其删除。从手册中可以明显看出,C中现在过时的“隐式int”残骸(能够在前面main() { ... }不写任何东西int)也来自B。这是支持B代码的另一个向后兼容特性。函数没有在B中指定的返回类型,因为没有类型。一切都是单词,就像许多汇编语言一样。请注意如何声明一个函数extrn putchar,然后使它唯一成为标识符使用的函数:它用于函数调用表达式(如)中putchar(x),这就是告诉编译器将该无类型字视为函数指针的原因。
打开App,查看更多内容
随时随地看视频慕课网APP