【发布时间】:2009-08-14 00:14:42
【问题描述】:
我正在使用标准,K&R C.
给定:
const char a[] = {1, 2, 3};
const char *p = NULL;
这两个语句是否等效:
*p = a;p = a;
他们每个人都在 sn-p 的第三行。
1 和 2 看起来肯定不一样。
那么两者有什么区别呢?
【问题讨论】:
-
顺便说一句,它不会影响答案,但没有“标准 K&R C”之类的东西。在“C 编程语言”第一版中描述的 K&R C 现在已经过时了。标准 C 有两种主要口味,C89/C90 和 C99。 C89 也称为“ANSI C”,因为 ANSI 于 1989 年发布,然后 ISO 于 1990 年发布了一个实际上相同的标准。C99 以另一个顺序发布 - 首先是 ISO,然后是 ANSI。 K&R 书的第二版和第三版与 ANSI C 相关,但我不认为这使它成为“标准 K&R C”