不要试图欺骗编译器。 有这么一个函数, void test(char str[32]) { …… } 想怎么调用这个函数?如果你不想传入参数怎么办?是否可以test(NULL)?呵呵,这是绝对不可以的,编译器认为这个参数的空间你已经申请了,所以在参数压栈的时候会导致程序崩溃,切记。test(NULL)仅限于参数为指针的情况,对数组并不适用。