递归火山软件开发平台

标题: 循环里的变量每次都是那一个吗? [打印本页]

作者: hs999xl    时间: 2023-12-26 15:17
标题: 循环里的变量每次都是那一个吗?
循环里的变量哈,比如第一次循环执行完毕,第二次循环执行的时候,此时这个变量是销毁重建的还是第一次建好的那个?

作者: Xelloss0618    时间: 2023-12-26 15:23
不是同一个
火山的局部变量有作用域,你的变量定义在子语句体里,每次进入和退出循环,都会创建和释放变量。
作者: hs999xl    时间: 2023-12-26 15:32
Xelloss0618 发表于 2023-12-26 15:23
不是同一个
火山的局部变量有作用域,你的变量定义在子语句体里,每次进入和退出循环,都会创建和释放变量 ...

十分感谢
作者: hcwanz    时间: 2023-12-26 16:06
静态局部变量,这一次的每次循环都是一样的,只有跑完所有次循环才会释放。
普通局部变量,每次循环都会重新创建。
作者: hs999xl    时间: 2023-12-26 16:14
hcwanz 发表于 2023-12-26 16:06
静态局部变量,这一次的每次循环都是一样的,只有跑完所有次循环才会释放。
普通局部变量,每次循环都会重 ...

涨知识了,谢谢
作者: 呵呵仙8    时间: 2023-12-26 17:46
你取变量地址(),看值是不是就知了!!
作者: hs999xl    时间: 2023-12-26 17:47
呵呵仙8 发表于 2023-12-26 17:46
你取变量地址(),看值是不是就知了!!

谢谢,又涨知识了。
作者: 明靓    时间: 2023-12-26 18:59
局部变量定义在循环里,作用域只在一次循环中,也就是开始进入循环时创建一个新的变量,到循环尾时销毁,回到循环首,又开始创建一个新的变量 ,只不过名称依然是上一次那个,但是变量地址已经不是原来的了.所以在你这个实例中,每次循环的变量不是同一个.

如果把变量定义在循环外,那循环多少次,变量一直是那个,只不过变量保存的值在不断变化罢了.
作者: hs999xl    时间: 2023-12-26 19:02
明靓 发表于 2023-12-26 18:59
局部变量定义在循环里,作用域只在一次循环中,也就是开始进入循环时创建一个新的变量,到循环尾时销毁,回到循 ...

原来如此,万分感谢。
作者: 715684    时间: 2023-12-26 19:57
涨知识了,谢谢





欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4