Окончание строки – char c = 0 vs char c = ‘\ 0’

При завершении строки мне кажется, что логически char c=0 эквивалентен char c='\0' , так как байт «null» (ASCII 0) равен 0 , но обычно люди склонны делать '\0' вместо , Это чисто из предпочтений или лучше ли это «практика»?

Какой предпочтительный выбор?


EDIT: K & R говорит : «Символьная константа '\0' представляет символ со значением 0, нулевой символ. '\0' часто записывается вместо 0 чтобы подчеркнуть характерный характер некоторого выражения, но числовое значение равно 0 ,

http://en.wikipedia.org/wiki/Ascii#ASCII_control_code_chart

 Binary Oct Dec Hex Abbr Unicode Control char C Escape code Name 0000000 000 0 00 NUL ␀ ^@ \0 Null character 

Нет никакой разницы, но более идиоматический – '\0' .

Возможно, положить его как char c = 0; может означать, что вы намереваетесь использовать его как число (например, счетчик), хотя лично я не сталкивался с подобным кодом. '\0' однозначно.

'\0' – это просто символ ASCII. То же, что и 'A' , или '0' или '\n'
Если вы пишете char c = '\0 ‘, это то же самое, что и char c = 0;
Если вы пишете char c = 'A' , это будет так же, как char c = 65

Это просто представление символа, и это хорошая практика, чтобы написать его, когда вы действительно имеете в виду NULL байт строки. Поскольку char находится в C один байт (целочисленный тип), он не имеет особого значения.

Предпочтительным выбором является то, что может дать людям, читающим ваш код, возможность понять, как вы используете свою переменную – как число или как символ. Лучшей практикой является использование 0, когда вы имеете в виду переменную как число, и использовать «\ 0», когда вы имеете в виду, что ваша переменная является символом.

Interesting Posts
Давайте будем гением компьютера.