La matriz de caracteres ascii de cero

Las matrices en C ++ tienen un problema inherente: Nunca se puede saber, con sólo mirar la matriz, cuántos valores se almacenan realmente en ella. Conociendo el tamaño de una matriz no es suficiente. Que dice cuántos valores de la matriz poder mantenga, no es la cantidad que en realidad hace sostener.

Video: arrays – matLab (matriz de caracteres ascii)

La diferencia es como la diferencia entre la cantidad de gas el tanque de su coche puede tener y la cantidad de gas que en realidad tiene. Incluso si su tanque tiene capacidad para 20 galones, todavía se necesita un medidor de gas para decirle lo mucho que está en él.

Hay esencialmente dos formas de hacer el seguimiento de la cantidad de datos en una matriz:

Mantenga un recuento del número de valores en un separateintvariable. Esta es la técnica utilizada por el ArrayDemo programa. El código que lee la entrada de usuario realiza un seguimiento del número de entradas en nPosiciones. El único problema es que el programa tiene que pasar nPosiciones junto a todas las funciones a las que ha pasado la nScores formación. La matriz no es útil sin conocimiento de cuántos valores se almacena.

  • Utilice un valor especial en la matriz como un indicador del último elemento utilizado. Por convención, esta es la técnica utilizada para matrices de caracteres en C ++.

  • Uno de caracteres ASCII en particular, no es un carácter jurídico: ‘’. Este personaje también es conocido como el nulo personaje. Es el personaje con un valor numérico de cero. Un programa puede usar la nulo personaje como el final de una cadena de caracteres.

    El carácter nulo no tiene otro propósito que marcó el final de una matriz de caracteres. El usuario no puede introducir un carácter nulo. Esto significa que usted no tiene que pasar una variable de recuento por separado alrededor - siempre se puede decir al final de la cadena mediante la búsqueda de una nulo.

    Los diseñadores de C y C ++ le gusta esta característica tan bien que se instalaron en él como el estándar para las cadenas de caracteres. Incluso le dieron un nombre: la ASCII-cero matriz o ASCIIZ para abreviar.

    Video: arrays – matLab (ordenar caracteres ascii)

    los nulo personaje tiene otra propiedad ventajosa. Es el único personaje cuyo valor se considera falso en una expresión de comparación (tal como en un bucle o una Si declaración).

    Recuerde que 0 o nulo se considera falso. Todos los demás valores se evalúan como cierto. Esto hace que los bucles de escritura que manipulan cadenas ASCIIZ aún más fácil.

    Artículos Relacionados