主函数中定义的变量在子函数中是否有效?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 16:57:39
主函数中定义的变量在子函数中是否有效?

主函数中定义的变量在子函数中是否有效?
主函数中定义的变量在子函数中是否有效?

主函数中定义的变量在子函数中是否有效?
无效.
首先明确,子函数和调用这个函数的函数(相对意义上的主函数)是两个不同的函数.
标准C/C++不支持局部函数.函数内定义的对象的名称具有函数作用域,有效范围从定义处开始到函数体结束,和其它函数内的名称无关.即使在两个函数中各自使用相同的标识符进行定义,也是两个不同的名称(C语言中可以保证是不同的对象;C++引用可能指向相同的实体),具有各自的函数作用域.如果一个在不同函数内表示相同实体的名称能被引用,那么这个名称只能表示一个全局对象(C++中也可以是两个函数所在类/命名空间中的公共对象).
如果是循环内/语句块中定义的名称,ISO C90(不支持循环开头定义)从定义处到函数体结束,ISO C99/ISO C++则是从定义处开始到循环/语句块结束.
====
[原创回答团]

主函数中定义的变量在子函数中是否有效? matlab的子函数中涉及一个变量,在主函数中会进行赋值,在子函数中怎样定义 在C语言中,在一个子函数中定义的static型变量可以应用在其他函数中么? C语言中,如何定义一个变量,使其既可以在主函数中使用,也可以在子函数中使用即在主函数和子函数中,他们的存储空间是一致的 C语言中,如何定义一个变量,使其既可以在主函数中使用,也可以在子函数中使用 c++ 怎么让一个子函数定义的变量让另一个子函数使用因为涉及的变量太多,因此不想把所有的变量都在主函数之前定义,那么怎么把一个子函数定义的变量让另一个子函数使用,最好不要用返回 在一个函数内的复合语句中定义的变量可以在本函数范围内有效,这句话是否正确?为什么? 24、在整个源文件都有效的变量在( )定义.A 第一个函数中 B 第一个函数前 C 主函数中 D 函数中静态变量 在函数内的复合语句中定义变量在本函数内有效?对吗?什么是复合语句? 在函数内定义的变量只在本函数范围内有效,为什么是对?在函数内的复合语句中定义的变量在本函数范围内有效,为什么是错 VB中定义子函数的方式? 急,请问一个C语言问题主函数调用子函数时,比如在子函数中生成的临时变量当子函数调用完时它也就销毁了,但是像生成链表这样的例子,在子函数中用malloc函数新开辟一段空间然后再把它们 C语言 主函数数值 子函数使用比如main()int a=10;想要在void sss()子函数中a=a+1直接使用a怎么办,重新在子函数定义?刚接触c. 局部变量是否只能在某个函数中定义并且只能在该函数中使用 子函数中得出的两个变量如何被主函数调用(C语言)假设子函数中通过公式得到两个变量值x,y,主函数中需要用到这两个值,该用什么方法调用? 有关C语言的说法,不正确的是:A.在不同的函数中可以使用相同名字的变量.B.形式参数是局部变量.C.在函数内定义的变量只在本函数范围内有效.D.在函数内的复合语句中定义的变量在本函数范 在一个函数内的复合语句中定义的变量在本函数范围内有效 这句话为什么是错的 在主函数中定义的变量属于全局变量,这句话对吗?