Diferencia entre strlen() y sizeof() para cadena en C
¿Qué es strlen()
strlen() es una función para encontrar la longitud de una cadena. Cuenta el total de caracteres que se presentan en una cadena, eliminando el carácter nulo. El número total de caracteres en la cadena incluye letras, caracteres especiales y números, con espacios en blanco.
En esta diferencia entre strlen() y sizeof() para cadenas en el tutorial de C, aprenderá:
- ¿Qué es strlen()
- ¿Qué es sizeof()
- Sintaxis de strlen()
- Sintaxis de sizeof()
- Diferencia entre strlen() y sizeof()
¿Qué es el tamaño de()
El sizeof() es una función que se utiliza para calcular el tamaño de su operando. Devuelve el tamaño de una variable particular. Esta función se puede aplicar a cualquier tipo de datos, que contenga tipos primitivos como tipos enteros y punteros, tipos de punto flotante, estructura o unión. La salida del programa que contiene sizeof() puede ser diferente en el sistema de 32 bits y el sistema de 64 bits.
DIFERENCIAS CLAVE:
- El método Strlen se usa para encontrar la longitud de una matriz, mientras que el método sizeof() se usa para encontrar el tamaño real de los datos.
- Strlen() cuenta el número de caracteres en una cadena mientras que sizeof() devuelve el tamaño de un operando.
- Strlen() busca el valor nulo de la variable pero sizeof() no se preocupa por el valor de la variable.
- El valor devuelto en strlen() es int largo, por otro lado, el valor devuelto en sizeof() es int sin firmar.
Sintaxis de strlen()
strcount = strlen(my_string);
Aquí, my_string es una variable de matriz de caracteres.
Ejemplo de strlen()
En el siguiente programa en C, hemos declarado una variable de cadena de tipo char. La variable Strng se pasa como argumento de la función strlen() para encontrar la longitud de la cadena.
#include<stdio.h> #include<string.h> int main() { char strng[] = "January"; printf("Length of given string is: %lu\n", strlen(strng)); }
Salida:
Length of given string is: 7
Sintaxis de sizeof()
Sintaxis 1)
tamaño(tipo): Tipo=tipo referenciado
Ejemplo de tamaño de (tipo):
En el siguiente código, &type da la dirección de la variable (doble x). Se incrementa con 1 que da la dirección donde puede almacenar la siguiente variable de tipo x.
Tipear x en char* y tomar la diferencia le permitirá conocer el número total de variables de tipo char almacenadas en la memoria. Hemos usado getchar() para leer caracteres.
#include<stdio.h> #define my_sizeof(type) (char *)(&type+1)-(char*)(&type) int main() { double x; printf("%ld", my_sizeof(x)); getchar(); return 0; }
8
Sintaxis 2)
sizeof(nombre-variable): Variable-name=nombre de la variable que desea determinar el tamaño.
En el siguiente programa en C, estamos imprimiendo el tipo de datos de caracteres de tamaño. La instrucción Printf contiene la función sizeof con el argumento char.
Ejemplo de sizeof(nombre-variable):
#include<stdio.h> int main() { printf("sizeof(char) = %d\n\n", sizeof(char)); return 0; }
Salida:
sizeof(char) = 1
Sintaxis 3)
tamaño(expresión): Expression=Expresión que tienes que evaluar.
Ejemplo de sizeof(expresión):
En el siguiente programa, primero estamos calculando e imprimiendo el tamaño de la variable. Después de esto, evaluamos la expresión, la almacenamos en la variable a y mostramos el resultado en la instrucción printf.
#include<stdio.h> int main() { char p = 'S'; double q = 4.65; printf("Size of variable p : %d\n",sizeof(p)); printf("Size of an expression : %d\n",sizeof(p+q)); int a = (int)(p+q); printf("Size of explicitly converted expression : %d\n",sizeof(a)); return 0; }
Salida:
Size of variable p : 1 Size of an expression : 8 Size of explicitly converted expression : 4
Diferencia entre strlen() y sizeof()
Estas son las diferencias importantes entre strlen() y sizeof():
Strlen() Tamaño de() Strlen() es una función predefinida, que se define en un archivo de encabezado conocido como string.h.Sizeof() es un operador unario o una expresión en tiempo de compilación que calcula la cantidad de memoria ocupada por una variable. Este método se usa para encontrar la longitud de una matriz de cadena o carácter. Este método se usa para encontrar el tamaño real de los datos (asignados) en bytes. Cuenta el número de caracteres en una cadena eliminando valores nulos. Devuelve el tamaño de un operando, no la longitud de la cadena (incluidos los valores nulos). Asigna memoria en el tiempo de ejecución y busca el valor nulo de la variable. Sizeof() no se preocupa por el valor de la variable. de memoria asignada en bytes. El valor devuelto en strlen() es int largo. El valor devuelto en sizeof() no tiene signo int. Solo hay una sintaxis de strlen() que es int strlen(const char *str);Hay tres sintaxis of sizeof() 1) sizeof(tipo), 2) sizeof(nombre-variable), y 3) sizeof(expres sión):
Lenguaje C
- Diferencia entre asbesto y fibra de vidrio
- Diferencia entre estructura y unión.
- C# vs. C++:¿Cuál es la diferencia entre C# y C++?
- Diferencia entre C y C++
- Diferencia entre C y Java
- Python vs JavaScript:diferencia entre JavaScript y Python
- Python Vs Ruby:Diferencia entre Ruby y Python
- Python 2 vs Python 3:¿Cuál es la diferencia entre Python 2.x y Python 3.x?
- La diferencia entre motores de CC y CA
- Diferencia entre soldadura fuerte y soldadura blanda.
- Diferencia entre motores de 2 tiempos y 4 tiempos