¿Cómo calcular el número de unidades de una constante de cadena almacenada en la memoria?
Una cadena de caracteres.
Por ejemplo: "Hello12345", * * 10 caracteres, pero debido a que hay un '\0' implícito al final para marcar el final, * * * ocupa 11 bytes. En PC, 1 byte (abreviado como B) contiene 8 8 bits. El llamado bit es la unidad de almacenamiento básica que puede almacenar 0 o 1.
Datos extendidos:
Una representación común es utilizar una matriz de códigos de caracteres, donde cada carácter ocupa un byte (como el código ASCII) o dos bytes (como el Unicode). La longitud puede utilizar un terminador (normalmente NUL, código ASCII 0, que se utiliza en el lenguaje de programación C). O agregue un valor entero delante para indicar su longitud (este método se usa en lenguaje Pascal).
Este es un ejemplo de una cadena terminada en NUL, almacenada en 10 bytes, expresada en ASCII:
NUL K e f w; p>
La longitud de la cadena anterior es de 5 caracteres, pero tenga en cuenta que ocupa 6 bytes. Los caracteres después del terminador no tienen significado.
Esta es la misma cadena Pascal:
Longitud F R A N K K e F w; 4E 4B 6B 66 66 77
Por supuesto, puede haber otras representaciones. El uso de árboles y listas puede hacer que algunas operaciones de cadenas, como la inserción y eliminación, sean más eficientes.