c语言函数类型默认值 c++函数默认值

在C语言中函数的默认参数类型

  在许多c语言初学者中编写函数时,都喜欢将无参函数中的参数类型忽略。

创新互联是一家从事企业网站建设、成都网站建设、成都网站制作、行业门户网站建设、网页设计制作的专业的建站公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点近1000家。

  但是实际上 默认的参数类型 不是无参 void ,而是接受 任意数量和类型的参数 。也就是说 int func() 和 int func(void) 是不一样的。下面通过一个例子加深了解一下在C语言中函数的默认参数类型:

  所以说,在使用c语言编写无参函数时,一定要把 void 写上去,不然会有安全隐患。

C语言函数的默认参数

C语言中没有参数默认值的概念,但其实可以利用宏来模拟参数的默认值;

我们之前介绍过可变参数宏与逗号运算符,将两者相结合的话可以定义出以下形式的宏:

当在 func() 里不填写任何内容的时候,正常情况下宏展开后会是 func((default,)) ,但由于 ##__VA_ARGS__ 会将前面多余的逗号忽略,所以宏展开后就相当于 __func((default)) ;

当在 func() 括号里填写有效值的时候,根据逗号运算符的值等于最后一个表达式的值的性质,宏会被展开为 __func((##__VA_ARGS__)) 既 default 被丢弃,传入的值只有我们填写的内容,通过这个技巧我们就可以设计出一个带有默认参数的函数。

示例:

定义一个函数默认参数为 0xff ,不传任何参数的时候打印 0xff ,传入有效值的时候就打印我们传入的内容;

输出:

c语言函数返回类型默认为什么类型?

函数返回类型是你定义函数时自己决定的,默认为int型

C语言函数格式为:

类型名

函数名(形参1,形参2……)

类型名就决定了返回类型,如果没有明确写出返回类型的话,默认为int类型。

void是空类型,

void必须要明确写出来才可以,指的是函数不提供返回值,不是默认的。

比如:

函数定义

int

fun(int

a)

返回值就是整型

函数定义

int

*fun(int

a)

返回值就是整型的指针

函数定义

void

fun(int

a)

无返回值


网站标题:c语言函数类型默认值 c++函数默认值
文章位置:http://cdiso.cn/article/hphhoi.html

其他资讯