Dixq (管理人) さんが書きました:ほとんどの処理系では定数領域に確保されるので、書き換えができないと思います。
具体的にどの処理系ができてどの処理系ができないかは調べていませんが。
MS-DOS以前からのお行儀の良くないプログラムを動かすための互換性だと思いますがWindowsでは書き換えができます。
組込み系を除けばWindowsしかないと思うんですけど書き換えできないのが常識と言っていいのやら。
(追記)
個人的には自由にやって後から矯正するよりも、最低限のルールを守って作って、力が付いて後から理由を理解するほうが効率が良い気がします。
例えばゲームのメインループはひとつにして、DXライブラリならループの最後に一つだけあるScreenFlipで画面を更新するように、というような。
ウチではこんなふうに
CODE:
while (ProcessMessage() != 0 && ClearDrawScreen() != 0) {
Update();
Render();
ScreenFlip();
}
Update関数にゲーム処理を書いて、Render関数に描画処理をまとめるルールにしてます。
(さらに追記)
わたしがC言語始めたときに言われたのは「外部変数にstatic付けろ」だけで、「あとは壊して覚えろ」でした。
当時はバッファオーバーフローとかすると簡単にOSレベルで暴走してハードディスクのデータが吹っ飛びましたから。