C言語入門
C言語3 | C言語5
4.C言語4 (ポインター)
  • 3.2:
    4.2:
    ポインターを宣言して、そのポインター用の領域を確保しようとして
    いる。でもうまくいかない。以下のコードのどこがおかしいのか?

    char *p
    *p = malloc(10);

    4.3:
    *p++はpを増分するか。それともpが指すものを増分するのか。


    4.5:
    charのポインターがあって、そのポインターがたまたまintを指して
    いた。intの次へポインターを進めたい。なぜ以下の式ではうまくい
    かないのか?


    ((int *)p)++;


    4.8:
    ポインターを引数として取って、そのポインターを初期化することに
    なっている関数がある。

    void f(ip)
    int *ip{
    static int dummy = 5
    ip = &dummy
    }

    けれど以下のように呼んだら、

    int *ip
    f(ip);

    呼んだ側のポインターの値は変わらなかった。


    4.12:
    関数を呼ぶのに、ポインターを通す方法をみたことがある。どうなっ
    てるの?


    <次回は「C言語5」です。>
  
C言語3 | C言語5