第5章 演習問題1 ~ #defineと戻り値の説明も兼ねる ~
休憩室
C言語は、よく、フリーフォーマット(自由な書式)な言語だと言われます。 それは、どういう意味でしょう? 次の記述を打ち込んで、コンパイルしてみてください。
#include <stdio.h>
void
main()
{
int
data1;
charstr1[64];
printf ("aaa\n") ;
if (1) { data1 = 0; data1++; data1 += 10; }
}
どうなりましたか?
一個所だけ、コンパイルの通らない所があったはずです。 でも、それ以外は、問題なくコンパイルできたはずです。
こんな書き方は、本当にいいのでしょうか? BASICなどの他の言語を習ったことのある人は、びっくりしてるのではないでしょうか。 しかし、これがC言語のフリーフォーマットといわれるユエンなのです。
まとめると次のようになります。
| ダメなもの |
OKなもの |
| intdata; |
int data ; |
| int da ta; |
int
data; |
i
n
t
data; |
|
| pri ntf("aaa"); |
printf ( "aaa" ) ; |
C言語とは、本当にいいかげんな言語ですね。 いずれにしても、見づらいので、こんな書き方をすることは、まずありえません。 今まで、習ってきた書き方でいいのです。
また、人によっては、次のように書く人もいます。 これは。ifの後の処理が一つだけなら、「{}」を省略できるからです。
if (data < 0)
data = data+1;
else
data = data+2;
ほかに、実際に使われることがあるものでは、以下のようなのがあります。
・文字列を一旦「"」で区切って、2行以上に折り返すことができる。
printf("ああああああああああああああああああああいいいいいいいいいい"
"いいいいいいいいいいうううううううううううううううううううう");
・長い処理や、長い変数名は、「¥」を使って折り返すことができる。
int aaaaaaaaaabbbbbbbbbbcccccccccc\
ccc;