Red de conocimiento informático - Problemas con los teléfonos móviles - La diferencia entre sizeof y strlen

La diferencia entre sizeof y strlen

La diferencia entre sizeof y strlen es: diferentes significados y diferentes funciones.

1. Diferentes significados

Al definir, debes saber que strlen es una función que se utiliza para calcular la longitud de la cadena especificada, pero no incluye el carácter final. (es decir, el carácter nulo). Sizeof es un operador unario, no una función. Sus parámetros pueden ser matrices, punteros, tipos, objetos, funciones, etc. Esta es la diferencia más esencial entre strlen y sizeof.

2. Diferentes funciones

La función de sizeof puede ser relativamente simple, principalmente: se garantiza que puede acomodar el tamaño de bytes del objeto más grande creado por la implementación. La función de strlen es más complicada y complicada. Devuelve la longitud de la cadena. Esta cadena puede ser definida por usted mismo o puede ser aleatoria en la memoria. La función real de esta función es comenzar desde el primer carácter que representa. cadena Comience a recorrer cada dirección hasta que encuentre el terminador NULL y la longitud devuelta no incluya NULL.

Características de uso de strlen

strlen=longitud de cadena, como sugiere el nombre, esta función se usa para encontrar la longitud de una cadena, por lo que también debemos explorar el concepto de cadena; Todos sabemos que si ingresa printf ("¡Hola mundo!") en el compilador, se generará "¡Hola mundo!". Esta es una cadena de caracteres entre comillas dobles que se denomina cadena literal, o simplemente. cadena.

Entonces debemos entender el carácter de escape "\0". Recuerde que habrá un "\0" oculto al final de cualquier cadena. Es la marca de final de la cadena, por lo que cuando. Usando la función strlen para leer una cadena, cuando encontramos "\0" tenemos que dejar de leer. En este momento, el número de caracteres antes de "\0" es la longitud de la cadena. Nota: Aquí "\0" ". Es solo una marca de fin. Simplemente nos dice que la función strlen dejará de leerse aquí. "\0" no cuenta como un carácter.

Para ver el contenido anterior, consulte la Enciclopedia Baidu-sizeofBaidu Encyclopedia-strlen