我在The UNIX Programming Environment(1984年版權日期發佈)中發現此代碼塊。關於C語言的這個陳述的困惑?
chp8-> hoc3-> symbol.c
char *emalloc(n) /* check return from malloc */
unsigned n;
{
char *p, *malloc();
p = malloc(n);
if (p == 0)
execerror("out of memory", (char *) 0);
return p;
}
什麼意思:
char *p, *malloc();
這真的很奇怪嗎?
這是舊的「Kernigan&Ritchie」C. C標準自此發展了很多。 –
[K&R C函數聲明](http://en.wikipedia.org/wiki/K%26R_C#K.26R_C) –
如果有更新的版本,請更改您閱讀的書籍或更新版本,因爲它的日期很久。它不使用函數原型,這是C89或ANSI C的最重要特性。 – legends2k