53

文字列を終了するとき、「null」(ASCII 0) バイトは であるため、論理的char c=0には と同等のように思えますが、通常は代わりに行う傾向があります。これは純粋に好みの問題ですか、それともより良い「練習」であるべきですか?char c='\0'0'\0'

好ましい選択は何ですか?


編集: K&R 次のように述べてい'\0'ます。'\0'00

4

3 に答える 3

19

'\0'単なる ASCII 文字です。'A', or '0'orと同じ' と'\n'
書いても同じ と書いても同じchar c = '\0char c = 0;
char c = 'A'char c = 65

これは単なる文字表現であり、実際に文字列の NULL バイトを意味する場合は、それを記述することをお勧めします。C では 1 バイト (整数型) であるためchar、特別な意味はありません。

于 2013-06-06T07:23:33.727 に答える
6

好ましい選択は、コードを読んでいる人々に、変数を数値または文字としてどのように使用するかを理解できるようにすることです。変数が数値であることを意味する場合は 0 を使用し、変数が文字であることを意味する場合は '\0' を使用することをお勧めします。

于 2013-06-06T07:46:35.653 に答える