gpt4 book ai didi

c - 参数是否被视为自动变量?

转载 作者:行者123 更新时间:2023-12-05 01:24:32 24 4
gpt4 key购买 nike

An automatic variable is a local variable which is allocated and deallocated automatically when program flow enters and leaves the variable's scope.

那么如果我有一个带有参数的函数,是否意味着参数的范围是整个函数,因此它符合上面的定义?或者它不太适合这个?

(我不确定该把这个问题归入哪个类别,抱歉)

最佳答案

是的,参数是具有自动存储期限的对象。

N1570 6.9.1p9:

Each parameter has automatic storage duration; its identifier is an lvalue.

您问的是范围,这并不直接相关。范围和生命周期是两个不同的东西。标识符有一个范围,即标识符可见的程序文本区域。对象具有存储期(生命周期),即程序执行期间对象在逻辑上存在的时间段。封闭 block 执行期间存在具有自动存储持续时间的对象;对于函数参数,它在函数返回时不复存在。它的名称仅在函数体内可见,但可以从其作用域外访问对象本身(例如,如果将其地址传递给另一个函数)。

关于c - 参数是否被视为自动变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40896761/

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