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)