5.1 我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么问题?
char *p; *p = malloc(10);
你所声明的指针是 p, 而不是 *p, 当你操作指针本身时 (例如当你对其
赋值, 使之指向别处时), 你只需要使用指针的名字即可:
p = malloc(10);
当你操作指针指向的内存时, 你才需要使用 * 作为间接操作符:
*p = 'H';
参见问题 1.7, 7.1, 7.5 和 8.3。
参考资料: [CT&P, Sec. 3.1 p. 28]。
翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)