C言語なら俺に聞け( ..
727:デフォルトの名無しさん
10/05/08 01:44:32
>>723
何をしたいプログラムなのかわからないが、差し当たりの問題点を指摘する。
char *bb=""; は、コンパイラによっては書き込み不可領域に配置される場合があり、
実行時に落ちる気場合がある。
また、"" のみで初期化した場合、確保される領域は 2 バイトであるため、バッファ
オーバーフローを起こす可能性がある。
これらを防ぐには、malloc() でメモリ領域を動的に確保するか、main() 側でバッファ
を用意して input() に渡し、そこに入力結果を書き込むようにする。
なお、malloc() を使用する場合は必ず呼び出し側 (こごては main()) で戻り値を
記憶し、入力結果が不要になった時点で free() すべき。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4989日前に更新/245 KB
担当:undef