04 # puntero de conocimiento

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
}

 

Supongo que te gusta

Origin www.cnblogs.com/lxuechao/p/12717225.html
Recomendado
Clasificación