在C语言中,函数的形参只能用auto或register来说明吗?
c语言中形参或者说所有的变量,缺省的存储类别都是auto的。C语言中四种存储类别:auto、static、extern、register 。其中大部分均为auto,auto为默认的类别,一般未标明的都是auto;如果标明了哪种类别,那就按标明的来。
不是static 形参存储类型只有两种可能,一是auto类型,而是register类型。我给你细细解说 auto 就是堆栈存储 而register的是cpu内部寄存器存储 具体函数的形参采用那种存储方法,这和函数的“调用规则(calling convention)”有关。
形参 或者说所有的变量,缺省的存储类别都是auto的。C语言中四种存储类别 auto static extern register 除非标了,否则都是auto。
C语言中来说明变量存储属性的关键字有四个:auto(自动)、static(静态)、register(寄存器)、extern(外部)。局部变量的存储属性 局部变量可以是自动类别(用auto,register说明),也可以是静态类别(用static说明)。
static是指该函数只能被本源程序文件道中的模块访问。extern是指可被本源程序文件外的模块访问。C语言中函数的存储类型隐含为版全局的,因此默认为extern。函数内定义的变量,默权认作用域在本函数内,即其类型是auto。
C语言函数中的形参和实参分别是指什么?
1、实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
2、在主函数里的是实参,在子函数里的是形 参。因为在真正执行的时候是把实参传递 给形参来执行的,所以实参才是实际的参 数。
3、在C语言中,形参即为形式参数。它在整个函数编译的时候,没有实际的数据赋于它,仅仅作于定义某个函数或者函数名。而实参既为实际参数。顾名思义,在函数中,有一个特定的数据赋值给它,可以作于在函数中进行运算。
4、形式参数就是定义函数时候的参数表,只是定义了调用时参数的个数、类型和用来引用的名字,并没有具体的内容。形参未被调用时,不占存储单元。形参只在调用过程中占用存储单元。
5、形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。实参是一个确定的值。
c语言函数的形参与实参的问题?
形参的值是在调用函数时,由实参传递过去的。一开始形参的值与实参相等,但在被调用函数内部可以改变形参的值,而这种改变不会影响实参的值,因为形参是实参的一份拷贝,两者分配的内存储存单元是不同的。
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
目的不同:实参可以是常量、变量或表达式,无论实参是何种类型的量,在进行函数调用时,都必须具有确定的值,以便把这些值传送给形参。
C语言中定义函数时,什么时候必须定义形参,什么时候可以省略,求指点…
1、形参名可以省,形参的类型不要省;如int fact(int);以便编译器识别形参和实参的类型是否匹配。
2、可以,声明函数时可以不需要形参名称,只要形参类型。注意这叫函数声明,不叫定义。在大括号中给出函数具体实现的才叫函数定义。定义函数时形参名不能省略。
3、形参类型不能省,形参名可以省。无参函数 当然 无形参,谈不上省。— 老式c语言 形参类型能省,形参名不可以省。
在c语言中形参与实参是如何定义的
在C语言中,形参即为形式参数。它在整个函数编译的时候,没有实际的数据赋于它,仅仅作于定义某个函数或者函数名。而实参既为实际参数。顾名思义,在函数中,有一个特定的数据赋值给它,可以作于在函数中进行运算。
形参就是形式参数,用一个变量代表大家。实参就是实际参数,用一个 确切的数值代替形式参数,可以是表达式。实际参数与形式参数的参数个数、类型和顺序都应一样,如果不一样的话,系统会强制转换,这样会造成数据的丢失。
在主函数里的是实参,在子函数里的是形 参。因为在真正执行的时候是把实参传递 给形参来执行的,所以实参才是实际的参 数。
c语言中函数形参与实参的区别与联系
有以下区别:主体不同:实参在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参不是实际存在变量,又称虚拟变量。
在主函数中输入n值,并作为实参,在调用时传送给s 函数的形参量n( 注意,本例的形参变量和实参变量的标识符都为n,但这是两个不同的量,各自的作用域不同)。
实参就是实际参数,用一个 确切的数值代替形式参数,可以是表达式。实际参数与形式参数的参数个数、类型和顺序都应一样,如果不一样的话,系统会强制转换,这样会造成数据的丢失。实 参向形参的传递是值的传递。
通过形参与实参在函数中位置来进行区分,两者区别如下:主体不同 实参:在调用有参函数时,函数名后面括号中的参数为“实际参数”。形参:不是实际存在变量,又称虚拟变量。
形参定义时必须指定类型!2实参是常量。变量或者表达式!要与形参类型一致!而且实参要有确定的值,在调用过程中实参将值赋给形参!3。c中实参对形参数据传递时时单向传递。