El aprendizaje de idiomas Notas C (2)

matriz de punteros I.

1. El conjunto de parámetros de la función del puntero de la tabla es en realidad

sizeof(a) == sizeof(int * );
int a[ ] ⇔ int *a
Los siguientes cuatro prototipo de función es equivalente a:

  • que suma (ar *, estás n);
  • que suma (ar [], eres n);
  • int suma (int *, int);
  • suma int (int [], int);

2. La variable de matriz es un puntero especial

  • Propia matriz indica la dirección,
    • int a [10];
    • int * p = a; // hay necesidad de tomar una variable y
  • La expresión de matriz de células es una variable, y la necesidad de tomar la dirección.
  • [] El operador puede hacer que la matriz, un puntero puede ser hecho;
    P [0] ⇔ A [0]
  • * El operador puede utilizar el puntero, la matriz se puede hacer;

  • Const variable de matriz es un tipo de puntero, y por lo tanto no se puede cambiar la asignación;
    int A [] ⇔ const int * B;

    II. La aritmética de punteros

    (1) para añadir un puntero, un número entero de resta (+, + =, -, - =);
    (2) disminución de incremento (+, -);
    (3) restando dos punteros;

1. Modified:

  • Es decir, además de un puntero a la dirección indicada por el valor del puntero más un sizeof (tipo de puntero), pasar a la siguiente celda.
  • Pointer 1 - dirección de la celda 2 es la diferencia entre el resultado de, no el valor de la diferencia de dirección entre:
    (Pointer 1-- Pointer 2) / sizeof (tipo de puntero);

2. * p ++

  • Después de la eliminación de los datos mencionados p, p se mueve a la siguiente celda;
  • Una matriz de funcionamiento continuo basado en el espacio;
  • En algunos CPU, que puede ser traducido directamente en una instrucción ensamblador;

3. Comparación de puntero

  • ! <, <=, ==,>,> =, = puntero puede compararse (dirección de memoria comparar);
  • Dirección de la matriz aumenta linealmente.

4.0 Dirección

  • A 0 dirección no es normalmente capaz de tocar la dirección de azar;
  • Puntero no debe tener un valor de 0;
  • Generalmente se expresa cosas especiales con 0 Dirección:
    • Devolver un valor no válido;
    • Puntero no inicializado es en realidad.
  • Nulo es un símbolos predefinidos, representa la dirección 0

El tipo de puntero

  • No importa qué tipo de puntos, el tamaño de todos los punteros son los mismos, ya que todas las direcciones;
  • Punteros apuntan a diferentes tipos de asignación no es directamente el uno al otro; esto es para evitar el uso de las manos equivocadas.

6. La acción del puntero

  • Cuando se le pasa como argumento requiere grandes transacciones;
  • Después de pasar una matriz de matrices que hacer la operación;
  • La función devuelve más de un resultado;
  • Necesidad de modificar más de una función variables;
  • memoria de aplicaciones dinámico.

Mis notas manuscritas


Código MOOC

cuestiones que se plantean

1. * p ++ significado

Resolución: El unario * + y por debajo del nivel del valor de P sacado después de la posición P a la siguiente.

Supongo que te gusta

Origin www.cnblogs.com/ABClazyboy/p/12443542.html
Recomendado
Clasificación