gpt4 book ai didi

内部函数可以使用父函数中定义的变量吗?

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

如果一个变量是在外部函数中定义的,那么它可以在内部函数中使用吗?或者我应该修改内部循环以获取第三个参数,即数组?

我询问的代码示例?

perm_rec1 ( int nr_value , int N)
{
int array[];
secondFunction(int nr_value, int N)
}

内部函数:

secondFunction (int nr_value, int N)
{
int temp = array; //is This possible? Or third parameter?

}

最佳答案

Can a variable be used in an inner function if it was defined in the outer function?

C 没有嵌套函数,这是“内部”和“外部”名称唯一有意义的意义。当一个函数调用另一个函数时,如您的示例所示,是第一个函数“内部”的调用,而不是被调用函数。

在任何情况下,在 block 范围内声明的变量(例如在您的示例中)仅在声明 block 的词法范围的其余部分内可见。它们在从该 block 内调用的函数的主体中不可见 - 即使它是相同的函数,递归调用也是如此。

or should i modify the inner loop to take a third parameter which would be the array?

是的,最自然的实现是为函数提供第三个参数,通过该参数向该函数提供数组(指向第一个元素的指针)。

关于内部函数可以使用父函数中定义的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40135236/

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