gpt4 book ai didi

c - 为什么可以调用稍后在 C 中声明的函数?

转载 作者:太空狗 更新时间:2023-10-29 15:51:02 24 4
gpt4 key购买 nike

我有这个小代码来演示它:

#include "stdio.h"

int main() {
int a = testfunc(); // declared later
printf("%d", a);
return 0;
}

int testfunc() {
return 1;
}

它编译没有错误,并按预期输出 1

实际操作:http://ideone.com/WRF94E

为什么没有报错?它是 C 规范的一部分还是与编译器相关的东西?

最佳答案

函数 testfunc() 是隐式声明的。编译器无法进行任何签名检查,因此如果您未能正确调用它,您可能会收到运行时错误。

这是 C 规范的一部分。但是 C 规范中的建议是在当前文件的开头或头文件中声明您计划实现和使用的所有函数。

关于c - 为什么可以调用稍后在 C 中声明的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13602546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com