扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
因为是全局变量,所以可以修改。你说的使用指针修改是对实参修改,这完全不是一回事。
创新互联公司自2013年创立以来,先为襄城等服务建站,襄城等地企业,进行企业商务咨询服务。为襄城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
对于全局变量,如果在函数中修改了值,则全局变量的值就会被改变,在其他函数中访问的就是修改后的值;但是,如果在函数中定义了跟全局变量名称一样的局部变量,则函数中修改的是局部变量,全局变量的值是无法被修改的。
直接在函数里使用全局变量就可以了。因为是全局变量,所以一般就不用传参了。
TIME[2]是实参,调用时只把它的值拷贝给了局部变量b,函数中操作的是b而不是TIME[2],所以TIME[2]不会有变化。
2)不同函数中可以使用同名的变量,它们代表不同的对象,互不干扰。例如,在f1函数中定义了变量b和c,倘若在f2函数中也定义变量b和c,它们在内存中占不同的单元,不会混淆。
TIME[2]是实参,调用时只把它的值拷贝给了局部变量b,函数中操作的是b而不是TIME[2],所以TIME[2]不会有变化。
对于全局变量,如果在函数中修改了值,则全局变量的值就会被改变,在其他函数中访问的就是修改后的值;但是,如果在函数中定义了跟全局变量名称一样的局部变量,则函数中修改的是局部变量,全局变量的值是无法被修改的。
有两种可能 一种是 在某处 对其赋值了 因为全局变量是每个函数都可以访问的 有可能在某处 对它赋值 你没注意到。另一种可能 就是出现了越界,导致某个操作,访问了全局变量的内存并改变了值。 这个就比较难查了。
首先,我们可以在函数外面定义变量,就是全局变量。局部变量可以与全局变量同样命名。但是优先级是局部变量优先。但是局部变量的生命周期是整个结构内。全局变量是整个程序结束,才释放。
函数定义所谓“全局变量”的唯一方式就是把变量声明为static。static修饰的变量只会在函数第一次被调用时被初始化一次,并且超出函数作用域后不会被销毁。但其可见性仍然限于函数作用域内,而非全局。
你都说是全局变量了,在任何地方都可以访问它,只是要注意在多线程下取它值的时候它是否已经改变了值,改变的时候可以设一个标志变量。
首先全局变量的值不加以认为改动,不会改变。其次全局变量的值在子函数中改动也会影响到主函数。最后在以个函数中,重新定义了一个与全局变量的变量名相同的变量时,会在这个函数里蔽屏掉全局变量,一出这个函数就恢复正常。
有两种可能 一种是 在某处 对其赋值了 因为全局变量是每个函数都可以访问的 有可能在某处 对它赋值 你没注意到。另一种可能 就是出现了越界,导致某个操作,访问了全局变量的内存并改变了值。 这个就比较难查了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流