08/02/16 09:08:08
>>737
> (3) sprintf(c,"aaaaaaaaaaaaaaaa");や strcpy(c,"aaaaaaaaaaaaaaaa");
> でコンパイルして実行するとエラー
> これは確保されていない領域に無理矢理文字列を突っ込もうとしてるからですか?
違う。
領域は確保されているが、文字列を突っ込めない (要は、書けない) 領域だから。
エラーになるかどうかは環境によって異なる。
素直に書き換わる環境もあるし、単に書き換わらないだけとか、全然別の場所の
文字列が勝手に書き換わるとかすることもある。
要するに、文字列の領域を書き換えるのは基本的にやってはいけない。
>>741-742
規格でそんなこと決まってたっけ?