C/C++函数参数声明解析:int fun() 与 int fun(void) 的差异揭秘

发布时间 2024-01-11 08:11:10作者: 架构师老卢

 

概述:在C和C++中,int fun()和int fun(void)的区别在于函数参数的声明方式。前者默认允许任意参数,而后者明确表示没有参数。通过清晰的实例源代码,详细解释了它们在函数声明和调用中的不同之处。

在C和C++中,int fun()和int fun(void)的区别在于函数的参数声明方式。以下是对它们的详细描述,包括方法、步骤和相应的示例源代码。

int fun()和int fun(void)的区别:

1.int fun():

  • 方法: 函数未指定参数时,编译器默认允许传递任意个数和类型的参数。
  • 步骤: 函数声明时未明确指定参数,但允许调用时传递任意参数。
#include <iostream>

int fun() {
    std::cout << "Function with unspecified parameters." << std::endl;
    return 0;
}

int main() {
    fun(); // 可以传递任意参数
    return 0;
}

2.int fun(void):

  • 方法: 函数明确声明没有参数,调用时不能传递任何参数。
  • 步骤: 函数声明时使用 (void) 表示没有参数,调用时不允许传递参数。
#include <iostream>

int fun(void) {
    std::cout << "Function with no parameters." << std::endl;
    return 0;
}

int main() {
    fun(); // 不允许传递任何参数
    return 0;
}

这两个示例清晰地演示了函数声明时参数声明的不同之处,一个允许任意参数,另一个明确指定没有参数。