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)