Colección de citas famosas - Colección de poesías - ¿Cuáles son las diferencias entre matrices de caracteres y cadenas?

¿Cuáles son las diferencias entre matrices de caracteres y cadenas?

1. Diferentes indicadores de fin

Cadena: debe terminar con '\0'; // ?‘ \0 '?

Matriz de caracteres: puede contener múltiples '\0', pero si se procesa como una cadena, la cadena válida real es la cadena firmada del primer '\0', si se procesa como un carácter. array, puede procesar cualquier carácter en la matriz de caracteres y todos los caracteres pueden ser '\0'.

2. Diferentes características

Una cadena es similar a una matriz de caracteres almacenada, por lo que se pueden extraer sus elementos individuales. Por ejemplo, s="abcdefghij", luego s [1. ]="b", s[9]="j".

La posición cero de la cadena es exactamente su longitud, como s[0]=10 (※Ansistring no tiene la función anterior), lo que puede brindarnos mucha comodidad, como Las operaciones de alta precisión se pueden convertir en números y almacenarse en matrices.

La matriz de caracteres se refiere a una matriz utilizada para almacenar datos de caracteres. La forma general de su definición es: nombre de matriz de caracteres [longitud de datos]. Las matrices de caracteres se utilizan para almacenar caracteres o cadenas. Un elemento en una matriz de caracteres almacena un carácter, que ocupa un byte en la memoria. No existe un tipo de cadena en lenguaje C, las cadenas se almacenan en matrices de caracteres.

Información ampliada:

Tipo de datos cadena:

El tipo de datos cadena es un tipo de datos modelado sobre la idea de una cadena formal. String es un tipo de datos muy importante y útil que se puede implementar en casi todos los lenguajes de programación.

Están disponibles como tipos primitivos en algunos idiomas y como tipos compuestos en otros. La sintaxis de la mayoría de los lenguajes de alto nivel permite que las instancias del tipo de datos de cadena se representen mediante cadenas, generalmente citadas de alguna manera; dichas metacadenas se denominan "textos" o "literales de cadena".

Inicialización de una matriz de caracteres:

No existe una diferencia esencial entre la inicialización de una matriz de caracteres y la inicialización de una matriz numérica. Pero además de asignar caracteres a los elementos de la matriz uno por uno, también puede inicializarlos directamente con cadenas.

Inicializa la matriz una por una con constantes de caracteres. Por ejemplo: char a[8]={'i', 'l', 'o', 'v', 'e', ​​'y', 'o', 'u'}; Estos 8 elementos son c[0]~c[7].

Enciclopedia Baidu--Matriz de caracteres

Enciclopedia Baidu--Cadena