C语言中,在同一个函数下局部变量和局部静态变量可以同名吗?

作者&投稿:迪萱 (若有异议请与网页底部的电邮联系)
C语言:各函数内部定义的静态局部变量可否同名~

可以。静态变量一旦被定义,内存中分配给该变量的空间不会被释放,直到掉电。但这和变量名相同与否是两个概念,变量名只是内存空间的一个名称或者指示指针而已。如果两个同名的静态变量在两个不同的函数内部被定义,内存分配时地址指针并不同,所有不会冲突。函数内部定义的静态变量在应用时需要注意一个问题:如果该功能函数被两个独立的对象同时调用,该静态变量是冲突的,此时该静态变量必须被定义为独立对象的成员。

可以、、
静态局部变量在函数调用结束后仍然存在,及它的内存空间不会被释放,但其他函数是不能引用它的。因为它是局部变量,只能被本函数引用,而不能被其他函数引用。所以你在其他函数中命名一个同名的变量是不冲突的、、

不可以,同一作用域的变量名不允许相同, 不同作用域下的同名变量起作用的是最后一层。

不行。
它们都是局部变量,一个加静态,只是说明这个变量在函数结束后,不会被释放内存空间而已,没有加静态的,在函数结束后,内存空被回收了,不能再被使用,否则会报错,或者出现其他问题,或被其它变量引用掉他原有的空间,导致该内存空间的数,可能已经不是以前的数据了,所以原则上是不能用的。C语言是不允许两个名字一样的变量的,这跟加不加静态是没有任何关系的。


在C语言中,函数的形参和实参可以占同一个存储单元,也可以占不同的存储...
形参只是实参的一个副本,即拷贝,它们不能公用存储单元。参数之间的传递分为数值传递与地址传递,如果是数值传递时,各自占用不同的内存单元,如果是地址传递时,共用同一段内存单元。函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。 形参变量只有在被调用时才...

c语言中,一个文件中的函数想用另一个文件中定义的结构体怎么办,用ex...
结构体在头文件中定义,然后要使用该结构体的源文件直接导入该头文件即可。例:结构体Node \/\/Node.h文件#ifndef NODE_H#define NODE_Hstruct Node{ int data; Node* next;};#endif\/\/main.cpp文件#include "Node.h"int main(){ struct Node n; n.data = 0; n.next = NULL...

请问在C语言编程中,定义一个函数时,可以在那个函数中再定义一个函数吗...
不能 不能嵌套定义函数 可以嵌套调用函数

在c语言中自定义了一个函数,在main中调用时提示找不到标识符,怎么...
把定义的函数放在,main函数之前即可。自定义的函数需要声明在调用之前,比如说在main函数里调用自定义的fun(),则fun()的方法体需要写在main函数之前。在C语言中的执行总是从main函数开始的,无论main函数在哪个位置都肯定从它开始。如果你定义的函数在main函数之后。而且在main函数前没有进行该调用函数...

在C语言中如何使一个函数使用另一个函数中的变量而与其它的函数无关...
这个fp是局部变量,没有办法和其他函数共享,可以使用的解决方法为:1、声明为全局变量,不过的确不好 2、作为参数传递,这样要增加一个形参

假定一个函数包含了一个自动变量,这个函数在同一行中被调用了俩次,试问...
函数第二次调用开始时该变量和第一次调用即将结束时的值不一样的 譬如说你可以用vc跟踪运行一下我这个程序,两个test函数在同一行中(同一个printf语句内),我把它写成两行为了好追踪,在这个函数中,你就可以看见,局部变量因为没有特别声明static,所以是auto类型的变量,但是在第一次调用好test函数...

在c语言程序的函数中可以定义另一个函数吗?
不可以,C语言只允许在函数中声明和嵌套调用。C语言中是不允许作嵌套的函数定义。因此程序中各个函数之间是平行的,不存在上一级函数和下一级函数的问题,这样是为了简化C语言编译器的逻辑性。

c语言 现在定义了一个函数void xxxxx() 要在主函数中调用它 应该怎么办...
有两种形式,举个例子(假设,我定义了 void f()函数):1.void f(){ ...} ...int main () \/\/主函数 { ...return 0;} 这种情况下,可以在main函数里面,直接用f()来使用;2...int main () \/\/主函数 { ...return 0;} ...void f(){ ...} 这种情况下,编译时错误的...

c语言编写一个函数,求两数中的最小数。在主函数中输入两个数,调用函...
c语言编写一个函数,求两数中的最小数。在主函数中输入两个数,调用函数求出最小数,再求最小数的平方根的一个可能的代码如下:include <stdio.h>#include <math.h>\/\/定义一个函数,求两数中的最小数int min(int x, int y){ if (x < y) \/\/如果x小于y return x; \/\/返回x else...

用不同的编程语言来完成同一个任务,运行速度和执行效率一样吗
不同编程语言的执行效率是不一样的,因此完成同样的任务花费的时间也有所不同,有的时候甚至可能差别很大。通常认为C\/C++这类底层语言执行速度是最快的,其次是Java、C#等中间语言,然后是Python这种“比较慢”的解释型语言。

诸城市14764303436: C语言,如果多任务系统同时用到一个函数,这个函数又有局部变量,会发生什么? -
百货复方: 如果是函数内部定义的局部变量,那就是各个线程各用各的副本,互不影响.

诸城市14764303436: c语言问题 局部变量能不能和全局变量重名? -
百货复方: 能,局部会屏蔽全局.要用全局变量,需要使用 "::" ; 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量.对于有些 编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那 个局部变量的作用域就在那个循环体内.

诸城市14764303436: C语言中的全局变量和局部变量分别是指什么? -
百货复方: 根据使用范围来区分的. 1.局部变量 他是 指在函数内部定义的变量 作用域为定义局部变量的函数 也就是说他只能在定义他的函数中使用 最值得注意的是 只有在程序执行到定义他的模块时才能生成,一旦执行退出该模块则起变量消失 eg. func...

诸城市14764303436: C语言中局部变量和全局变量的生存日期分别为什么 -
百货复方: 局部变量只在本函数内使用有效,在函数之外是不能使用这些变量的,不过当用static声明局部变量时,局部变量就有全局生命性和局部可见性,意思就是它占用的存储单元在整个程序中会一直到程序结束,但是还是只在本函数中使用.而全局变量则可以为本文件中的其他函数所共用.有效范围为从函数定义位置到本源文件结束.

诸城市14764303436: C语言中的局部变量和整体变量怎么理解 -
百货复方: 首先变量一般分为局部和全局,木有整体一说.根据C语言的说法,局部变量:定义在方法内部的变量叫局部变量;全局变量:定义在方法外部的变量叫全局变量.局部变量和全局变量的主要区别在于二者的生存周期不同.全局变量的生存周期:静态分配内存,程序运行期间常驻内存,直到程序运行结束.局部变量的生存周期:动态分配内存,位于线程堆栈中.另外全局变量和局部变量的作用域不同,举例来说,类中的变量作用域在当前类中,类方法中的变量作用域在当前方法中.全局变量的使用场景:多个地方需要使用,大家共享.局部变量的使用场景:只在当前这个地方使用.

诸城市14764303436: c语言中怎么理解全局变量和局部变量 -
百货复方: 局部变量是在某一函数内定义的变量,有效区域在本函数里. 全局变量定义在函数外,全局起作用.

诸城市14764303436: 在C语言中,局部变量和整体变量的区别 -
百货复方: 局部变量的作用域仅为离他最近的大括号内,超出这个范围无效!全局变量在整个文件中都有效!但是如果局部变量若与全局变量有重复,在局部变量作用域内以局部变量为准!局部变量在作用域大括号结束后便释放存储空间,全局变量随整个程序的消亡而释放存储空间! 在你这个程序中首先运行了sub1,便更改了a[10]的值为0 2 4 6 8 10 12 14 16 18;而sub2中因为a[MAX] 为局部变量在执行完sub2后便释放了存储空间,不会对全局变量a[10]的值产生影响,因此运行sub2();sub3(a);显示结果为0 2 4 6 8 10 12 14 16 18

诸城市14764303436: 什么是局部变量 -
百货复方: C语言全局变量和局部变量 引子--- ? ?? ???变量可以在程序中三个地方说明: 函数内部、函数的参数定义中或所有的函数外部.根据所定义位置的不同, 变量可分为局部变量、形式参数和全程变量.从空间角度来看,变量可以分为全局变...

诸城市14764303436: C语言中 一个局部变量 && 一个调用函数;这个语句是做什么内容? -
百货复方: 用于判断.比如 int a; int func(); 调用 if(a && func()) xxx 表示当a为1,同时func返回值为1,这时执行xxx部分.需要注意的是,如果a为0,那么func将不会执行.

诸城市14764303436: C语言中如何定义全局变量 -
百货复方: 1、首先,我们可以在函数外面定义变量,就是全局变量. 2、局部变量可以与全局变量同样命名. 3、但是优先级是局部变量优先. 4、但是局部变量的生命周期是整个结构内. 5、全局变量是整个程序结束,才释放. 6、我们也可以为变量加上修饰符.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网