>ANSI Cが標準規格であるということ以外、
>どういうものなのかということがわかりません。
>プログラムの書き方が異なるのでしょうか。
>それともエディター・コンパイラーによって異なるのでしょうか。
「標準規格」とは「こう書いたら、どう動くか?」を規格化した物です。
言い替えれば「文法的には問題がないが、実際に書いた場合にどう動くのかが曖昧になってしまう部分を、明確に決めた物」です。
例えば、
char c;と書いたら、このcは符号付きか、符号無しか?
char c;、int i;と定義し、c = -1;、i = c;と書いたら、iは-1になるのか、それとも255になるのか?
定義しただけで代入も参照もしてない変数があったら、コンパイル時、無視するか、警告するか、エラーで止まるか、どうするか?
などです。
これらは、規格化される前は「動作が明確に決まってないから、このCコンパイラでコンパイルした時と、こっちのCコンパイラでコンパイルした時で、プログラムの実行結果が違ってしまう」と言う事が起きてしまいました。
これでは「違うCコンパイラに移植したら動かなくなってしまう。場合によっては、動かないどころか、コンパイルも出来ない」と言う問題が起きてしまいます。
「それでは困る。規格を統一しよう」って事で始まったのが「ANSI Cの規格化」です。
言うなれば「ANSI Cを覚える」とは「曖昧な書き方をした時にどういう動きをするのか覚える」「規格上で動作が未定義とされている書き方をしないよう覚える」「コンパイル環境に依存しない書き方をしないよう覚える(特定のコンパイラでしか通じない方言を書かないよう覚える)」と言う事です。