三木先生 发表于 2022-10-9 17:57:38

函数形参问题

下面代码是在书中看到的代码中的一个函数,觉得好奇怪,形参没有在编写函数中用到!我也把整个工程敲进编译器,编译也确实有点小bug,但没有报错。(检查了两遍感觉没敲错)
所以我的问题就是,形参可以不在编写函数中用到吗,那为啥不用void,这样的函数又有什么意义?调用函数时传实参进去又是怎样的?

bool ListIsFull(const List *plist)
{
    Node *pt;
    bool full;

    pt = (Node *)malloc(sizeof(Node));
    if (pt == NULL)
      full = true;
    else
      full = false;
    free(pt);

    return full;
}

jackz007 发表于 2022-10-9 18:27:53

本帖最后由 jackz007 于 2022-10-9 18:31 编辑

         就本例而言,形式参数 plist 确实并未在函数中用到,完全可以去掉,如果不去,编译的时候,编译器可能会给出警告。
         一个没有输入参数的函数,它又能有什么用呢,难道是为了打印 "hello, world!" ?
页: [1]
查看完整版本: 函数形参问题