local-variables相关内容

为什么局部变量没有超出范围?

x是局部变量,在执行fun()后应超出范围 完毕。 它的地址通过返回的指针和全局指针p可用,后者指向不再有效的内容。但打印的输出仍然是5。 为什么? #include int *p = NULL; int *fun() { int x = 5; p = &x; return p; } // Driver Code int m ..
发布时间:2022-04-10 16:50:37 其他开发

堆栈上的局部变量

为了理解堆栈帧的概念,我为自己编写了一个小程序.首先,我将向您展示代码,一个关于它的小草图,然后我将提出我的问题: 所以,程序: int check_pw(char *password){整数有效 = 0;字符缓冲区[10];strcpy(缓冲区,密码);如果(strcmp(缓冲区,“a")== 0){有效 = 1;}返回有效;}int main(int argc, char *argv[ ..
发布时间:2022-01-22 12:55:46 其他开发

函数内的局部变量何时*实际*被分配

只是对此感到好奇.以下是同一功能的两个代码片段: void MyFunc1(){诠释 i = 10;对象 obj = null;如果(某事)返回;} 另外一个是…… void MyFunc1(){如果(某事)返回;诠释 i = 10;对象 obj = null;} 现在第二个有没有在 something 为真时不分配变量的好处?或者总是在调用函数后立即分配本地堆栈变量(在当前范围内)并且将 ..
发布时间:2022-01-22 12:37:48 C#/.NET

从 C 函数返回字符串

我已经 3 年多没用过 C 语言了,我对很多东西都生疏了. 我知道这可能看起来很愚蠢,但我目前无法从函数返回字符串.请假设:我不能为此使用 string.h. 这是我的代码: #include char * getStr(int 长度){字符字[长度];for (int i = 0; i ..
发布时间:2022-01-19 14:33:51 其他开发

Terraform - 在 variables.tf 中为 type = map(object()) 添加验证

首先感谢这篇文章 在 variavles.tf 中为 type = map(object()) 添加一个默认字段,这回答了我在获取默认值以使用 type map(object()) 时遇到的第一部分难题.我要开始工作的最后一部分是如何验证输入值. terraform {实验 = [module_variable_optional_attrs]}变量“dns_server"{description ..
发布时间:2022-01-16 21:32:28 其他开发

如何在C中引用与全局变量共享同名的局部变量?

例如 #includeint foo = 100;内部酒吧(){国际富;/* local foo = global foo,如何实现?*/返回0;}int main(){int 结果 = bar();返回0;} 我觉得在函数栏中,直接调用foo只会得到全局的foo.我如何引用本地 foo?我知道在 C++ 中,有这个指针.但是,C 有类似的东西吗? 非常感谢! 解决方案 不,通过 ..
发布时间:2022-01-04 11:45:38 其他开发

Python 局部变量与全局变量

我了解 Python 中局部变量和全局变量的概念,但我只是有一个问题,为什么错误会在以下代码中以这种方式出现.Python 一行一行地执行代码,所以它直到读取第 5 行才知道 a 是局部变量.Python 在尝试执行第 5 行后是否会返回一行并将其标记为错误? a=0定义测试():打印#line 4,错误:赋值前引用了局部变量“a"a=0 #第5行测试() 解决方案 设置和测试 为了分 ..
发布时间:2022-01-04 11:39:04 Python

函数局部、自引用、惰性斐波那契数列

我想创建一个函数来返回一个惰性扩展的无限斐波那契数列. 现在,我可以像这样在顶级命名空间中使用我的序列: (def 斐波那契数列(懒猫 [0 1] (地图 + 斐波那契数 (其余斐波那契数)))) 然而,这意味着如果我开始大量使用它们,我将失去对垃圾收集的控制. 我正在做类似的事情: (defn fibonacci-numbers-fn [](懒猫 [0 1] (map + (f ..
发布时间:2022-01-02 23:22:03 其他开发

为什么在lua中访问局部变量比全局变量更快?

所以我正在阅读 Programing in Lua 2nd Ed 并且我在这里看到了这一段: 在任何时候都使用局部变量是一种很好的编程风格可能的.局部变量可帮助您避免混乱全局带有不必要名称的环境.此外,访问本地变量比全局变量快. 谁能解释一下这是为什么?这个“特性"是只在 Lua 中,还是在其他语言中?(例如 C、C++、Java) 解决方案 运行时间的差异是由于哈希表查找和数 ..
发布时间:2021-12-30 20:19:39 其他开发

在 if 语句中初始化的变量的范围是什么?

我是 Python 新手,所以这可能是一个简单的范围界定问题.Python 文件(模块)中的以下代码让我有点困惑: 如果 __name__ == '__main__':x = 1打印 x 在我使用过的其他语言中,这段代码会抛出异常,因为 x 变量是 if 语句的本地变量,不应存在于它之外.但是此代码执行并打印 1.谁能解释这种行为?在一个模块中创建的所有变量是否对整个模块全局/可用? 解 ..
发布时间:2021-12-12 13:05:44 Python

“终身"C 中的字符串字面量

下面函数返回的指针不会不能访问吗? char *foo(int rc){开关 (rc){情况1:返回(“一个");案例2:返回(“两个");默认:返回(“随便");}} 所以 C/C++ 中局部变量的生命周期实际上只在函数内,对吗?这意味着,在 char* foo(int) 终止后,它返回的指针不再有任何意义,对吧? 我对局部变量的生命周期有点困惑.什么是好的澄清? 解决方案 是 ..
发布时间:2021-12-07 22:54:11 其他开发

为什么在 Ruby 中`a = a` `nil`?

我观看了这个视频.如果 a 未定义,为什么 a = a 的计算结果为 nil? a = a # =>零b = c = q = c # =>零 解决方案 Ruby 解释器在看到赋值时用 nil 初始化一个局部变量.它在执行赋值表达式之前或什至在赋值不可访问时初始化局部变量(如下例所示).这意味着您的代码使用 nil 初始化 a,然后表达式 a = nil 将评估为右侧的值. a = 1 如果 ..
发布时间:2021-12-03 09:51:47 其他开发

从 C 中的函数返回局部变量

#include int foo1(void){内部 p;p = 99;返回 p;}字符 *foo2(void){字符缓冲区[] = "test_123";返回缓冲区;}int *foo3(void){int t[3] = {1,2,3};返回 t;}int main(void){国际*p;字符 *s;printf("foo1: %d\n", foo1());printf("foo2: %s\n" ..
发布时间:2021-12-01 23:46:06 其他开发

Java 中的默认值和初始化

基于我的参考,原始类型有默认值和对象为空.我测试了一段代码. public class Main {公共静态无效主(字符串 [] args){一个;System.out.println(a);}} 行 System.out.println(a); 将是一个错误,指向变量 a 表示 变量 a 可能尚未初始化 而在给定的引用中,integer 会将 0 作为默认值.但是,使用下面给定的代码,它实际 ..