1. ¿Qué es un puntero? { Los punteros son variables utilizadas para almacenar direcciones } 2. ¿Cómo usar punteros para los cálculos? { int a = 10 ; int * p = & a printf ( " % d " , * p); * p = 100 ; printf ( " % d " , a); } 3. ¿ Cuándo se usa el puntero? { Cuando la función se pasa por valor, se puede lograr pasando el puntero. Conversión sincrónica de parámetros formales y parámetros reales, para lograr una función más conveniente Función de conteo Además, la matriz no admite la operación de dirección + + de la matriz , por lo que Al asignar la primera dirección al puntero, se logra el efecto de la matriz de punteros Fruta (la dirección de la matriz no se puede cambiar) } 4. ¿ Cuántos tipos de punteros hay? { Los comunes son: $ Variables de puntero y matrices de puntero correspondientes a varios tipos de datos Tales como: char * q; int * p; corto * a; largo int * b; bool int * c; int ron [ 8 ]; int ron []; int * árbol; int * árbol; Defina la matriz de punteros para mantener la misma cantidad de matriz, de lo contrario No disponible Puntero multinivel: Puntero utilizado para almacenar la dirección del puntero int ** p = & q; Conjunto bidimensional: los punteros también pueden considerarse punteros secundarios Pero no es igual a la matriz secundaria el puntero secundario Por lo tanto, entre la variable de puntero de primer nivel y el puntero de segundo nivel Asignación directa Puntero de matriz: un puntero utilizado para almacenar la dirección de matriz int fore [ 10 ]; int (* poi) [ 10 ] = & fore; Aquí poi + 1 es igual a la dirección anterior más 40; Puntero de función } 5. ¿Cuáles son los requisitos para usar punteros? { El tipo del puntero debe ser el mismo que el tipo variable de la dirección tomada Estrictamente consistente } 6. Caso de usar punteros hábilmente { #include <stdio.h> // Resumen: la matriz es un puntero cuando se define, y el puntero se desreferencia durante la operación #define LIM 4 int sumary ( int a [], int b [], int c []); int main () { int array1 [LIM] = { 2 , 4 , 6 , 8 }; int array2 [LIM] = { 1 , 0 , 3 , 6 }; int array3 [LIM]; sumary (array1, array2, array3); // Coloque la primera dirección en el grupo de parámetros de forma int i; for (i = 0 ; i <LIM; i ++ ) { printf ( " % d \ n " , array3 [i]); } devuelve 0 ; } int sumary ( int a [], int b [], int c []) // { for ( int i = 0 ; i <LIM; i ++ ) { c [i] = b [i] + a [i]; } // devuelve 0; // a [] = * (a); // * (a + i) = a [i]; } } 7. ¿Cuáles son los mismos elementos en el puntero y cuáles son diferentes pero similares? { * Mismo artículo La primera dirección de la matriz = la dirección del primer elemento de la matriz * elementos diferentes Dirección de matriz! = Array primera dirección ¡Agregue uno a la primera dirección de la matriz! = Dirección de matriz más uno }