定义函数时储存类型可以省略吗?c语言

如题所述

函数有返回值和入参,你指的在定义时存储类型应该是指的入参类型,在定义函数时,入参类型是不能省略的,但可以省略入参变量名,如:
void show(int); //这个省略了参数变量名,这样在函数中是无法使用该入参的
void show(int a); //这个是没有省略变量名,这样在函数中可以使用该入参
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-05
楼主如果问的是返回值的类型的话,是不能省略的,省略的话,默认为void!!而对于函数的存储类型的话,如果省略,则是默认为extern,和变量的存储不同,变量的存储类型默认为auto

C语言中,形参的缺省的存储类说明是什么
1、形参的类型是不能省略的。函数的存储类型就是函数定义时函数名前面的数据类型前面的存储类型,缺省时应该是:extern ,表示该函数属外部函数(即可以被本C文件外的其他C源程序文件中的函数调用)。2、对于自定义函数,可使用缺省参数来达到某一程度的“重载”等功能,缺省参数只能放在函数声明中,...

c语言中的形参可以省略吗?
c语言中形参的缺省存储类别是auto。程序进行编译时,并5261不为形式参数4102分配存储穿间。只有在被调用时,形式1653参数才临时地占有存储空间。形式参数用关键字auto作存储类别的声明时,关键字“auto”可以省略,auto不写则隐含确定为“自动存储类别”,它属于动态存储方式。

函数定义时必须写出形参的类型吗?
C语言中的标准函数printf便使用这种机制。在声明不确定形参的函数时,形参部分可以使用省略号“…”代替。“…”告诉编译器,在函数调用时不检查形参类型是否与实参类型相同,也不检查参数个数。

c语言声明函数参数参数名称可以省吗?
理论上是可以省略的 如 函数 void fun(int a) { }; 声明成void fun(int );或者void fun()都是可以的 但是这样编译器就不能检查实参和形参是否匹配。 所以我们最好不要省略

C语言中定义函数时,函数返回值类型是什么,关键字可以省略?
在 C 语言中,当定义函数时,函数返回值类型可以指定为任何一种数据类型,例如 int、float、double、char、void 等。关键字可以省略的情况是指函数返回值类型为 void 时,可以省略关键字。以下是一个简单的 C 语言函数示例:include <stdio.h> int add(int a, int b) { return a + b;} int ...

C语言中,函数的隐含存储类型是:A. auto B.static C.extern D.register...
C语言规定,只要在定义函数时不进行存储类型的显式说明,函数的存储类型就隐含为外部类型,即extern型,外部类型允许其他文件中的函数调用。实际上函数的声明和定义都不需要添加extern关键字,在实际使用的时候也最好不要添加关键字。如果一个函数是不会被其它文件调用的,那么这个函数应该被声明成static的。

c语言中main函数前面的void可不可以省略!省略与不省略有什么区别 ?
可以省略,省略后相当于返回值是int类型的,void是不返回,其实这个是返回给操作系统的,一般的程序设计用不到这个返回值,但是有的编译器不允许main函数返回值是void类型的。

c函数形参如果没有名字,只有类型,在下面使用的时候,怎么使用
定义的时候确实可以不写形参名字。你如果学了编译原理的话可以知道函数间是如何传参的(大多语言是通过栈),c语言是第n个参数先压栈,再压第n-1个,。。。再压第一个。最后修改栈顶指针add esp,8。当进入函数时都是 push ebp mov ebp,esp 所以可以这么实现 \/\/VS2010环境 void f(int,int){...

函数参数类型可以不做说明吗
无参函数,没有参数,当然可以不声明类型。有参函数,原型声明,可以 有 参数类型,而没有 参数名。例如:int fun(int); \/\/ 原型声明 --- 老式c语言,函数参数 写参数名,类型声明写在下面,例如下面的 x:int fun(x)int x;{return x+1;} int main(){ printf("%d",fun(2));} ...

7、C语言中,形参的默认存储类别为。 (A)auto (B) static (C)register...
而不能直接使用类型。用auto(或省略)来区分说明的局部变量。当执行进入局部变量所在的块时,在栈上为变量分配存储,退出块时,存储单元被回收。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。

相似回答