>>593
>必要な領域を確保される、長さに上限は無い
もう理解していることだったらすまないが、勝手に確保なぞされない
Cならmalloc、C++ならnewで確保せねばならない

それで今回のケースだが、たとえばchar str[10]みたいにすると、
ローカル変数のスコープは関数内だから関数から抜けた時点でどうなるか分からない

char *strみたいなとこにmallocもせず直接ぶっこんだなら、上に書いたようにNG
mallocせねばならない