El lenguaje C sujeto, creo que va a estar mal! No creo que, después de leer lo sabrá!

Damas y caballeros, hoy nos dan una buena preguntas en lenguaje C, esta pregunta es para que usted pueda entender y dominar la matriz en C es un cheque bueno, no habló mucho que decir, vistazo a la pregunta:

La pregunta es ¿cuál será la salida?

       Obtenemos hacia arriba, mediante la lectura del código que se encuentra en el cuerpo, principalmente en las siguientes cuatro áreas: una matriz de punteros de acceso de método; nombre de la matriz y la matriz Natori dirección difiere de aplicación; sizeof en el uso de nombre de la matriz y otras variables; yesos.

Dos cosas tienen que resolver antes de que claro:

       1, en C, la casi totalidad de las expresiones utilizadas en la matriz, el valor de nombre de matriz de punteros es una constante, es decir, la dirección del primer elemento de la matriz. Su tipo depende del tipo de los elementos de la matriz: si son de tipo int, a continuación, escriba el nombre de la matriz es "puntero constante a int." - "C y el puntero"

       2, en los dos casos siguientes, el nombre de la matriz no es constante para el puntero, es decir, cuando el nombre de la matriz como operador sizeof operador & unario y el número de operación. Devuelve sizeof la longitud de todo el conjunto, en lugar de a la longitud de la matriz de punteros. Tome una dirección del nombre de la matriz generada es un puntero a una matriz, en lugar de un puntero a una constante puntero. Se devuelve después de y un puntero es un puntero a una matriz, con un (un puntero a un puntero [0]) en el tipo de puntero es diferente. - "C y punteros".

Resolver este problema:

       1, y a representa la dirección de toda la matriz, + 1, indica el móvil con esta matriz el mismo espacio de tamaño, int * echada en una dirección de elemento int, p puntos a una matriz de tipo int detrás de una elementos.

       2, * (. 1-p) p representa un número de bytes se movió hacia atrás tipo int eliminación de referencias de nuevo, por lo que el último elemento de la matriz A, 5; * p-1 representa la primera dereference la dirección a la que apunta valores de p menos uno, entonces este valor no está definido.

       . 3, el sizeof (nombres de matriz) para dar el número de bytes de la matriz completa, es decir, 5 * 4 = 20; sizeof (direcciones de matriz) tanto de los bytes de dirección de 64 bits a 8.

       4, esta pregunta la respuesta es 5, indefinido, 20,8.

Bueno, hemos hablado de aquí, se entiende? Gracias la paciencia de leer!

Para los amantes de la programación, la respuesta junto con un grupo de socios de aprendizaje pequeña es muy importante! He comenzado a aprender un club de programación basado en cero de cambio ( grupo ), así como el aprendizaje de archivos de vídeo, son principiantes de bienvenida y avanzado en pequeños amigos!

 

Publicados 520 artículos originales · ganado elogios 132 · Vistas a 80000 +

Supongo que te gusta

Origin blog.csdn.net/HUYA69/article/details/105222330
Recomendado
Clasificación