La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Cuáles son los conceptos básicos de punteros en lenguaje C y la definición de variables de puntero?

¿Cuáles son los conceptos básicos de punteros en lenguaje C y la definición de variables de puntero?

En los idiomas, los punteros son un tipo, llamado "tipos de puntero". El tipo de puntero describe una dirección que apunta a la ubicación de otro objeto en la memoria. En pocas palabras, un puntero representa la dirección del objeto al que apunta.

1. Compare las diferencias entre punto, *punto y punto

Para int * punto

Punto: es una variable de puntero y su contenido es; el importe de la dirección.

*punto: es la variable objetivo de la variable puntero, es decir, la variable apuntada por el puntero, y su contenido son datos.

&punto: hace referencia a la dirección de almacenamiento que ocupa la propia variable puntero.

2. Punteros y matrices

Cuando se utilizan punteros y nombres de matrices para acceder a datos en la memoria, sus expresiones son equivalentes, porque ambos son cantidades de direcciones.

El nombre de la matriz representa la primera dirección de toda la matriz, que puede considerarse como un puntero a una dirección fija y no se puede asignar.

No es necesario asignar un valor inicial al nombre de la matriz, pero se debe asignar un valor inicial al puntero antes de su uso.

3. Punteros de caracteres y cadenas

Una cadena es una matriz de caracteres y la cadena termina en '\0'. Cuando el formato %s de la función printf genera caracteres, comienza desde la dirección dada y finaliza cuando se encuentra el primer carácter '\0'.

Inicializar el puntero de carácter es asignar la primera dirección de la cadena al puntero.

4. Función de puntero

La llamada función de puntero es una función cuyo valor de retorno es un puntero (dirección).

5. Punteros multinivel

El puntero al puntero (**p) es el puntero de segundo nivel y el puntero al puntero (***p) es el puntero de tercer nivel.

Los punteros multinivel son similares al direccionamiento indirecto.

6. Puntero a la función

El nombre de la función en lenguaje C representa la primera dirección de la función, es decir, la dirección de ejecución de la función.

Formulario de definición: [tipo de almacenamiento][identificador de tipo de datos](*nombre de variable de puntero que apunta a la función)();

Ejemplo: int(*fun)();/ / Puntero a función, int * fun(); // Función de puntero, tenga en cuenta que no pueden faltar los corchetes (* fun)

7. es necesario A veces, es mejor utilizar la asignación dinámica.

Utilice la función malloc: void * malloc(size_t size).

Ejemplo:

int * pn=malloc(10*sizeof(int));

double *pd=malloc(10*sizeof(double)) ;