【发布时间】:2014-05-23 16:03:23
【问题描述】:
我写了一个函数,它接受一些参数和一个指针参数。调用函数时,有时我需要传递指针以在函数内部使用,有时我不需要。 用更少的参数调用函数的后果是什么?它可以正确编译,并且在运行时仍然可以,但是这是好的编程吗?如果我用虚拟变量调用函数会更好吗? 感谢和抱歉初学者的问题。
【问题讨论】:
-
将 NULL 传递给“未使用的参数”不是一个选项吗?
-
这肯定不是好的编程。即使它编译,它也必须抛出警告。函数调用必须匹配其原型,该原型必须匹配其定义签名。
-
打开所有警告。非常注意他们。
-
如果你的函数需要三个参数并且你用两个参数调用它,你会调用未定义的行为,这是要不惜一切代价避免的,因为当你调用未定义的行为时编译器可以让你的程序做任何事情。不要冒险;始终传递完整的参数,即使它们为 NULL。如果它编译正确,则说明您没有正确使用 C 或您的编译器。
-
@user3668489 : 你能把代码粘贴到你的问题中,这样每个人都可以停止猜测,看看到底发生了什么?