usar resueltos matriz lenguaje funciones ejercicios ejemplos como caracteres cadenas cadena arreglo c string c-strings null-terminated ansi-c

resueltos - funciones de cadenas de caracteres en c++



Terminación de cadena-char c=0 vs char c=''/ 0'' (3)

Al terminar una cadena, me parece que lógicamente char c=0 es equivalente a char c=''/0'' , ya que el byte "nulo" (ASCII 0) es 0 , pero por lo general las personas tienden a hacer ''/0'' lugar . ¿Esto es puramente por preferencia o debería ser una mejor "práctica"?

¿Cuál es la opción preferida?

EDITAR: K & R dice : "La constante de caracteres ''/0'' representa el carácter con valor cero, el carácter nulo. ''/0'' menudo se escribe en lugar de 0 para enfatizar la naturaleza del carácter de alguna expresión, pero el valor numérico es solo 0 .


La opción preferida es aquella que puede dar a las personas que leen su código la capacidad de comprender cómo utiliza su variable, como un número o como un personaje. La mejor práctica es usar 0 cuando te refieres a la variable como un número y a usar ''/ 0'' cuando te refieres a que tu variable es un personaje.


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

No hay diferencia, pero la más idiomática es ''/0'' .

Tal vez poniéndolo como char c = 0; podría significar que tiene la intención de usarlo como un número (por ejemplo, un contador), aunque personalmente no he encontrado un código como ese. ''/0'' no es ambiguo.


''/0'' es solo un caracter ASCII Lo mismo que ''A'' , o ''0'' o ''/n''
Si escribe char c = ''/0 '', es lo mismo que char c = 0;
Si escribe char c = ''A'' , es lo mismo que char c = 65

Es solo una representación de personajes y es una buena práctica escribirlo, cuando realmente quieres decir el byte NULO de la cuerda. Como char está en C un byte (tipo integral), no tiene ningún significado especial.