malloc
malloc(3)を使うときはstdlib.hのインクルードを忘れずに。
gccが4.2になってwarningを出してくれて気がついた。mallocはvoid *型のポインタを返すので、明示的な型変換はいらない。
#include <stdio.h> #include <stdlib.h> int main(void) { char *str; str = malloc(10); free(str); return 0; }
けっこう古い本でもちゃんと書いてるなぁ。web上で書いてるのをみても、
str = (char *)malloc(10);
が望ましいって書いてるのもあるね。
ちゃんと#include