汉邦问答 / 问答 / 问答详情

由“形参可以使用的存储类说明符与局部变量完全相同”引发的思考,由于这句话是错误的,

2023-06-11 09:14:49
苏州马小云

形参应该也算是全局变量吧,或者说某个单元的“全局变量”,他与全局变量不同,却很相似。给函数传参的时候,主要传的就是链接属性为外部链接的其他翻译单元的全局变量、嵌套调用模块内的局部变量(也可看做模块内的全局变量)、内部全局变量、手动传入的常量(全局)

tt白

这句话哪儿错了?

函数形参不就是局部变量吗,那为什么函数形参可以被返回呢,c++基础

函数返回,如果是基础类型,返回变量是复制局部变量,当返回的是对象时,返回的是对象指针,对象内容开辟在堆上,有指向且不手工释放的话,会一直存在
2023-06-11 07:59:312

形式参数是局部变量吗

形参只是参数的形式,对应传入函数的是实参,实参跟局部变量一样,都放在函数的栈上。
2023-06-11 08:01:222

c语言中函数中的形式参数是局部变量吗

对的,储存在动态储存区
2023-06-11 08:01:312

Java方法的形参是局部变量,不改变实际参数的值。

简单类型,不改变 ;;;;;;;;
2023-06-11 08:01:403

形式参数是局部变量吗

形参变量 只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。 该性质与动态的 局部变量性质 相同 :当函数体被调用完毕时,变量的空间被释放。 回复 选A。这些概念不需要太在意吧。形参就是指一个形式上的引用。在函数内部需要引用外部的东西,可又不知道外部需要函数处理什么。于是在函数参数表里定义一个无实际意义的形式上的变量名,用于函数体操作。
2023-06-11 08:02:001

什么是形参,什么是实参

形参:全称为“形式参数”是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。没有形参的函数在形参表的位置应该写void.main 函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统。实参:可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。实参和形参的区别:空白或占位符1。函数的形参列于函数声明中,在函数定义的函数体内使用。当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。用来填充形参2。实参是用来填充形参的。当函数被调用时,实参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。传值调用和引用调用3。传值调用和引用调用指的是用于参数传递过程中的一种机制。传值调用中,只使用了实参的值。传值调用机制里,形参是一个局部变量,其初始值为相应实参的值。在引用调用机制里,将实参的地址传递给形参,从表面上看是以实参变量取代形参,因此任何发生在形参上的改变实际上都发生在实参变量上。
2023-06-11 08:02:093

c语言中从变量作用域的角度来看函数的形参属于什么变量?

函数的形参属于局部变量,函数调用结束后,形参无效
2023-06-11 08:02:181

"形参变量属于被调用函数的局部变量,实参变量则属于全局变量或调用函数的局部变量。" 怎么理解?为什

形参变量只能在被调用函数内部使用,所以是被调用函数的局部变量实参变量则属于全局变量或调用函数的局部变量。
2023-06-11 08:02:351

实参和形参是不同的变量这句话对吗

对——形参是函数的局部变量,而实参可以是主调函数的局部变量、全局变量、常量等。实参值向形参单向传递;是否重名都无关紧要,互不影响。
2023-06-11 08:02:541

C语言中的形参与实参的关系是什么?

形式参数就是实际参数,在函数类的代号吧.在调用函数时,会把形参换成实参.在未调用时,形参不存在.
2023-06-11 08:03:152

【C语言急问】形参是什么意思?实参是什么意思?请用最简明、通俗、易懂的语言说明。**pp是什么意思?

**pp 就是传指针的地址
2023-06-11 08:03:223

形式参数是局部变量……对还是错?

这些概念不需要太在意吧。形参就是指一个形式上的引用。在函数内部需要引用外部的东西,可又不知道外部需要函数处理什么。于是在函数参数表里定义一个无实际意义的形式上的变量名,用于函数体操作。
2023-06-11 08:03:312

11)下列说法中错误的是( ) A.在不同的函数中可以使用相同名字的变量 B.函数中的形参是局部变量 C.在一个

1 A2 C()3 D4 B5 A6 C7 D8 B9 B
2023-06-11 08:03:464

形参只能是变量 为什么

形参相当于局部变量。方法是操作数据的过程。带参方法需要提供数据让它操作。
2023-06-11 08:03:531

什么是JAVA里面的方法体,方法头形参,实参方法调用和局部变量?

JAVA里面的方法体是指方法定义中的代码块,也就是用来实现方法功能的部分。方法头形参是指在方法头中声明的参数,这些参数由其他类或者函数传递进来,以便在该函数内部使用。实参是指被传递到函数中的变量或者表达式,一般情况下,它们与形参对应。方法调用就是在程序执行到一个函数时,将该函数所需要的相关信息传递给该函数并执行该函数。 局部变量是指声明在一个特定作用域内有限期存在并且不能被其他作用域访问到的变量。
2023-06-11 08:04:012

关于c语言 在c中调用函数时,只能把实参的值传递给形参,形参的值不能传给实参。这句话对吗?为什么?

不对,你仔细看下书就知道为什么了
2023-06-11 08:04:326

C语言 形参 局部变量

没见过行参用static 的,储存行参也没意义阿
2023-06-11 08:05:071

形式参数是全局变量吗?

不是,作用域仅为函数
2023-06-11 08:05:173

C语言 形参可以使用的存储类说明符与局部变量的有什么不同?

D说法不完整因为局部变量可以使用static而形参不可以他们都可以使用auto、register类别
2023-06-11 08:05:262

C语言中形参和实参可不可以完全一样?

当然可以!!
2023-06-11 08:05:496

函数形参作用域和函数中局部变量的作用域一样吗

一样的,如果是&类型的话,参数会修改本来的值但作用域那么大
2023-06-11 08:06:071

在C语言中,形参名与实参名到底是一样好,还是不一样好?

允许不一样, 只是一个局部起作用的临时变量名而已.
2023-06-11 08:06:275

在C++中,函数参数默认值为什么不允许为局部变量呢??

什么意思 都默认了肯定要是一个定值 局部变量肯定不是定值
2023-06-11 08:06:525

"形参可以使用的储存类型说明符与局部变量完全相同" 这句话错哪了

形参不能声明为static,但是局部变量可以。
2023-06-11 08:07:123

c++中形参的作用域是整个函数吗?

是的。函数结束 形参也就失效了。比如函数结束了,在别的函数中,再去使用会出现没有定义的错误。
2023-06-11 08:07:192

C语言问题:函数的形参都属于全局变量?

static变量和main函数外面定义的变量为全局变量,比如#include"stdio.h"int a=3,b=5;//全局变量max(int a,int b){ int c; c=a>b?a:b; return c;}main(){ int a=8; printf("%d ",max(a,b));}附图 还有max(int a,int b){int c;//局部,运行完函数后c占用的内存空间就被释放,即c消失了c=a>b?a:b;return c;}main(){ extern int a,b;//extern此处为全局变量,或者这样定义static int a,b; printf("%d ",max(a,b));}int a=3,b=5;
2023-06-11 08:08:121

下面对函数的形参和实参的说法错误的是()

A和C 是错的
2023-06-11 08:08:203

C++语言中,下列那个不是局部变量?

B啊。人家都写外部static变量啊~~
2023-06-11 08:08:294

c语言问题

A C A B A C B D B B D B A A D A 这些都是最基本的知识
2023-06-11 08:08:382

C语言中在函数内部什么时候需要定义局部变量代替形参进行运算,什么时候直接用形参进行运算?

如果需要在保留形参的值不变的前提下(可能另有他用),但是需要形参的值参与运算并可能被改变时,就需要定义局部变量代替形参进行运算如果形参的值使用后被改变并不会造成一些不必要的错误时,可以直接使用形参参与运算
2023-06-11 08:08:531

为什么C语言的子函数不直接用型参参与运算,而是另外声明个局部变量,形参再赋值给这个局部变量?

你注意到cur_pin是不同的类型了吗?正是因为需要转换类型所以才引入它 形参可以参与运算,都居于栈空间
2023-06-11 08:09:032

函数形参不就是局部变量吗,那为什么函数形参可以被返回呢,c++基础

函数的形参确实是局部变量,但是形参如果是地址,那么通过去地址操作,就可以访问到内存中的空间,从而改变它的值,返回时那个形参已经没有了。这里讲的是在函数局部内申明的局部变量,函数结束时,内存就已经释放了,返回它的地址是没有任何意义的。
2023-06-11 08:09:261

什么是形参和实参

形式参数在运行的过程中其值就是在调用函数时传入的实际参数的值,形参也是局部变量,它的作用域就是声明它的函数体,调用函数时分配空间,从函数返回后释放空间,形参的变化不会导致实参改变。
2023-06-11 08:09:3611

形参和实参的区别是什么

实参是用来填充形参的。当函数被调用时,形参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。例如:当你进行函数调用的时候,add(1,2),这里的1和2就是实参。扩展资料:形参和实参的特点:1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参参考资料:搜狗百科-形参搜狗百科-实参
2023-06-11 08:10:155

形参跟实参是什么啊?

形参在函数中定义的 剩下是实参
2023-06-11 08:10:3910

什么是形参?什么是实参?

形参:全称为“形式参数”是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。没有形参的函数在形参表的位置应该写void.main 函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统。实参:可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。实参和形参的区别:空白或占位符1。函数的形参列于函数声明中,在函数定义的函数体内使用。当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。用来填充形参2。实参是用来填充形参的。当函数被调用时,实参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。传值调用和引用调用3。传值调用和引用调用指的是用于参数传递过程中的一种机制。传值调用中,只使用了实参的值。传值调用机制里,形参是一个局部变量,其初始值为相应实参的值。在引用调用机制里,将实参的地址传递给形参,从表面上看是以实参变量取代形参,因此任何发生在形参上的改变实际上都发生在实参变量上。
2023-06-11 08:11:164

形式参数是局部变量……对还是错?

这些概念不需要太在意吧。形参就是指一个形式上的引用。在函数内部需要引用外部的东西,可又不知道外部需要函数处理什么。于是在函数参数表里定义一个无实际意义的形式上的变量名,用于函数体操作。
2023-06-11 08:11:312

实参和形参是不同的变量这句话对吗

对——形参是函数的局部变量,而实参可以是主调函数的局部变量、全局变量、常量等。实参值向形参单向传递;是否重名都无关紧要,互不影响。
2023-06-11 08:11:401

C语言小问题------函数的形参是全局变量吗

形参不是变量吧
2023-06-11 08:11:495

c语言中形参与实参;局部变量与全局变量的区别

一般在函数的定义:类型标识符 函数名(形参) 此处就为形参;在函数的调用:函数名(实参)此处就为实参在你的程序中定义了fun(struct ty b){b.data=20;b.c="y";} 那么struct ty b为形参主程序main中,调用了fun(a),则参数a就是实参
2023-06-11 08:12:215

什么是形参和实参?

形参是定义方法的时候,该方法所携带的参数实参是你在调用方法的时候,给这个方法传递的参数值,
2023-06-11 08:12:486

在java中,什么是形参什么是实参,它们都是什么类型的,它们之间的传递关系什么样的

实参就是你实际的参数,交给一个方法的参数,形参就是方法内部用来接收传过来的参数的一个局部变量,什么类型都可以,根据你的需要对于基本数据类型,形参就是实参的一份拷贝对于引用类型,形参指向和实参相同的对象。。。
2023-06-11 08:13:152

函数的形参和实参有什么关系

分好多啊 可惜我不会 记得老师讲的时候有从内存的角度说过
2023-06-11 08:13:286

函数的形参和实参有什么关系

形式参数在运行的过程中其值就是在调用函数时传入的实际参数的值,形参也是局部变量,它的作用域就是声明它的函数体,调用函数时分配空间,从函数返回后释放空间,形参的变化不会导致实参改变。
2023-06-11 08:13:443

11)下列说法中错误的是( ) A.在不同的函数中可以使用相同名字的变量 B.函数中的形参是局部变量 C.在一个

1 A2 C()3 D4 B5 A6 C7 D8 B9 B
2023-06-11 08:13:534

实参的实参和形参的区别

3。传值调用和引用调用指的是用于参数传递过程中的一种机制。传值调用中,只使用了实参的值。传值调用机制里,形参是一个局部变量,其初始值为相应实参的值。在引用调用机制里,将实参的地址传递给形参,从表面上看是以实参变量取代形参,因此任何发生在形参上的改变实际上都发生在实参变量上。
2023-06-11 08:14:062

什么是局部变量

C语言全局变量和局部变量引子---? ?? ???变量可以在程序中三个地方说明: 函数内部、函数的参数定义中或所有的函数外部。根据所定义位置的不同, 变量可分为局部变量、形式参数和全程变量。从空间角度来看,变量可以分为全局变量和局部变量,而从时间角度来分的 可以有静态存储变量和动态存储变量之分。一。全局变量和局部变量1。局部变量他是 指在函数内部定义的变量 作用域为定义局部变量的函数 也就是说他只能在定义他的函数中使用最值得注意的是 只有在程序执行到定义他的模块时才能生成,一旦执行退出该模块则起变量消失eg.func (){? ?int x;? ?局部变量x的作用域 很明确? ?......}2。全局变量在程序执行的过程中一直有效eg.int x=1;func (){? ?x=x+1;}func1 (){??x=x-1;}main (){}由此不难看出整型x的作用范围对于全局变量 如果在定义的时候不做初始化 则系统将自动为起赋值 数值型为0字符型为空""全局变量的弊端 增加内存开销 降低函数的通用性定义全局变量时 理想的位置是在文件的开头 当这些函数以及同一个程序中的其他源程序文件中的某些函数需要使用该全局变量时 在函数内部对该变量使用extern 加以说明 说明他是外部的 (这里还要做详细的讲解)eg.main (){extern int a,b;printf ("mIn is %d ",min(a,b));}int a=1,b=2;int min (x,y)int x,y;{int z;z=x<y?x:y;return(z);}我还要说明的是 对外部变量的说明和对全局变量的定义不是一回事对外部变量的说明 只是声明该变量是在外部定义过的一个全局变量 在这里引用 而对全局变量的定义则是要对起分配存储单元的一个全局变量只能定义一次 可是却可以多次引用*** 在同一源文件中,全局变量和局部变量同名时,在局部变量的作用域内,全局变量不起作用的。二。静态存储变量和动态存储变量对于程序运行期间根据需要进行临时动态分配存储空间的变量 为动态存储变量对于那些程序运行期间永久占用固定内存的变量 称为静态存储变量还要说明的是 程序的指令代码是存放在程序代码区的 静态存储变量是存放在静态数据区的 包括全局变量等 而程序中的动态存储变量存放在动态数据区 如函数的形参以及函数调用时的返回地址等三。C语言中的变量存储分类指定? ? ? ? auto ? ? auto称为自动变量 如果函数不做其他说明的话 均为自动变量? ? static ? ? static称为静态变量。根据变量的类型可以分为静态局部变量和静态全程变量。 ? ? 1. 静态局部变量 ? ? ? ???它与局部变量的区别在于: 在函数退出时, 这个变量始终存在, 但不能被其它函数使用, 当再次进入该函数时, 将保存上次的结果。其它与局部变量一样。 ? ? ? ? 2. 静态全程变量 ? ? ? ???Turbo C2.0允许将大型程序分成若干独立模块文件分别编译, 然后将所有模块的目标文件连接在一起, 从而提高编译速度, 同时也便于软件的管理和维护。静态全程变量就是指只在定义它的源文件中可见而在其它源文件中不可见的变量。它与全程变量的区别是: 全程变量可以再说明为外部变量(extern), 被其它源文件使用, 而静态全程变量却不能再被说明为外部的, 即只能被所在的源文件使用。 ? ?? ?? ? extern ? ? extern称为外部变量。为了使变量除了在定义它的源文件中可以使用外, 还要被其它文件使用。因此,? ?必须将全程变量通知每一个程序模块文件,? ?此时可用extern来说明。 eg. ? ?? ???文件1为file1.c? ?? ?? ?? ?? ?? ?文件2为file2.c ? ? int i, j;/*定义全程变量*/? ?? ???extern int i, j;/*说明将i, j从 ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???文件1中复制过来*/ ? ? char c;? ?? ?? ?? ?? ?? ?? ?? ???extern char c; /*将c复制过来*/ ? ? void func1(int k);? ?? ?? ?? ?? ?func2()? ?? ???/*用户定义函数*/ ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? { ? ? main()? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?static float k;/*定义静态变量*/ ? ? {? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???i=j*5/100; ? ?? ?? ? func1(20);/*调用函数*/? ?? ???k=i/1.5; ? ?? ?? ? func2();? ?? ?? ?? ?? ?? ?? ?? ?? ?. ? ?? ?? ? .? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? . ? ?? ?? ? .? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? . ? ?? ?? ? .? ?? ?? ?? ?? ?? ?? ?? ?? ? } ? ???} ? ???func1(int k) /*用户定义函数*/ ? ???{ ? ?? ?? ? j=k*100; ? ???} ? ? 对于以上两个文件file1.c和file2.c, 用Turbo C2.0的集成开发环境进行编译 连接时, 首先应建立一个.prj的文件。例如file.prj, 该文件内容如下: ? ???file1.c ? ???file2.c ? ? 然后将file.prj的文件名写入主菜单Project中的Project Name项中。 再用F9 编译连接, 就可产生一个文件名为fioe.exe的可执行文件。 ? ?????? ? register ? ? register称为寄存器变量。它只能用于整型和字符型变量。定义符register说明的变量被Turbo C2.0存储在CPU的寄存器中,??而不是象普通的变量那样存储在内存中, 这样可以提高运算速度。但是Turbo C2.0只允许同时定义两个寄存器变量,一旦超过两个, 编译程序会自动地将超过限制数目的寄存器变量当作非寄存器变量来处理。因此, 寄存器变量常用在同一变量名频繁出现的地方。 ? ? 另外, 寄存器变量只适用于局部变量和函数的形式参数, 它属于auto型变量, 因此, 不能用作全程变量。定义一个整型寄存器变量可写成: ? ?? ?register int a; ? ? 对于以上所介绍的变量类型和变量存储类型将会在以后的学习中, 通过例行程序中的定义、使用来逐渐加深理解。
2023-06-11 08:14:191

C语言中形参和实参可不可以完全一样?

intfun(intx,inty){......}intmain(void){inta=3,b=4;fun(a,b);return0;}实参为传入函数中的变量或值,如main函数中的a,b形参是自定义函数中,函数名后括号中定义的变量,如fun函数中的x,y
2023-06-11 08:14:274

C语言中形参与实参可以同名吗?

形参formparameter实参realparameter出现在函数定义中的参数,就叫形参出现在函数调用中的参数,就叫实参函数定义:intmax(inta,intb)//这里的a,b就是形参{//在函数中,形参就可以当作是一个局部变量。if(a>b)returna;elsereturnb;}函数调用intmain(){inta=3,b=5;printf("max=%d ",max(a,b));//这里的a,b就是实参c中的函数参数传递是传递变量的数值,因此,这里相当于调用max(3,5)而子函数中收到的就会是35这两值,而与ab变量没有关系。return0;}
2023-06-11 08:14:362

c语言函数习题

1.C
2023-06-11 08:14:574