mallocは「確保したメモリの先頭アドレスを返す」事になっている。 「メモリの先頭アドレス」とは、簡単に言えば「ポインタ」って事。 なので「返って来た値は、何かのポインタ変数に代入するんだよ」って事。 んで、Cでは int i; ←「int」変数 int* p; ←「intへのポインタ」変数 って感じで「*が付いて定義されるとポインタだよ~ん」って言うお約束があるので「ポインタを返す関数」を説明する時に ほげほげ* malloc(確保する型 * 確保する数) って表記したりする。 それが「前に付いてる*の意味」だったりする。 因みに「確保する型 * 確保する数」の「*」は、単純に「掛け算」の「*」なので間違えないように。 んで「確保する型 * 確保する数」の意味は、ぶっちゃけて言うと「何バイト確保するか書け」って事。 で、Cでは「変数1個分に必要なバイト数」は「決まってない」ので「s