非原型函数声明

Baz*_*oka 4 c

函数声明与函数原型有何不同?

我发布这个问题时参考了这个问题的答案

Alo*_*ave 5

一个函数声明 可能/可能不会不包括函数的参数。
函数原型 必须包含函数参数。

来自Wikipedia
考虑以下函数原型:

int fac(int n);
Run Code Online (Sandbox Code Playgroud)

此原型指定该程序中有一个名为的函数,该函数fac采用单个整数参数n并返回一个整数。如果希望使用该功能,则必须在程序的其他位置提供功能定义。

重要的是要知道,函数的声明不需要包含原型。以下是一个无原型的函数声明,该声明仅声明函数名称及其返回类型,而没有告知定义期望的参数类型。

int fac();
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,“int fac();”是一个非原型,而“int fac(void);”是无参函数的原型。 (2认同)