Red de conocimiento informático - Computadora portátil - C, punteros y matrices.

C, punteros y matrices.

Por ejemplo

p apunta a la dirección del primer elemento de la matriz, por lo que *p toma el valor de la dirección señalada por p.

B es incorrecto porque str es un puntero a una cadena

Por ejemplo

printf("s\n", str generará el programa completo);

Esto muestra que BCD es incorrecto en ambos casos

Representación de cadenas

En programas C, hay dos formas de implementar el método de cadenas.

1. Implementado mediante matriz de caracteres.

[Ejemplo 8.11]

void main(void)

{static char string [ ]="¡Me encanta China!";

printf("s\n", string);

}

Salida en tiempo de ejecución:

Al igual que las propiedades de la matriz descritas anteriormente, la cadena es un nombre de matriz, que representa la primera dirección de la matriz de caracteres (ver Figura 8.17). string[4] representa el elemento número 4 (v) de la matriz. De hecho, la cadena [4] es * (cadena 4), y la cadena 4 es un puntero a la cadena de caracteres 4, que es un puntero al carácter "v".

2. Implementado mediante punteros de caracteres.

En lugar de definir una matriz de caracteres, puede definir un puntero de caracteres. Utilice punteros de caracteres para señalar caracteres en una cadena.

[Ejemplo 8.12]

void main(void)

{char *string="¡Amo China!";

printf ("s\n",string);

}

Aquí no se define ninguna matriz de caracteres, pero la constante String utilizada por C se trata como una matriz de caracteres y en realidad se abre en memoria Se crea una matriz de caracteres para almacenar la matriz de cadenas. En el programa se define una cadena variable de puntero de caracteres y se le asigna la primera dirección de la cadena (es decir, la primera dirección de la matriz de caracteres que almacena la cadena) (consulte la Figura 8.18). Algunas personas piensan que la cadena es una variable de cadena y piensan que la definición asigna "¡Amo China!" a la variable de cadena, lo cual es inexacto.