我正在研究ANSI C编程语言,它在介绍中说:
"局部变量通常是"自动的,"或者每次调用都重新创建。"
我猜测分配和解除分配变量与java的堆栈帧逻辑一起工作。全局变量也是自动变量吗?它们会比局部变量更少地进入和退出堆栈帧,因为它们位于整个.c文件的范围内。我不知道你从其他文件调用的变量范围是如何工作的。
答案 0 :(得分:2)
不,这些概念不会相互影响。术语全局变量是一种非正式概念,指的是具有外部联系的变量。根据定义,自动变量没有链接,因此拥有变量是无意义的,即自动变量和全局变量。