C | Puntero avanzado | Pregunta 2

Suponga que el tamaño de un entero y un puntero es de 4 bytes. ¿Producción?

#include <stdio.h>
  
#define R 10
#define C 20
  
int main()
{
   int (*p)[R][C];
   printf("%d",  sizeof(*p));
   getchar();
   return 0;
}

(A) 200
(B) 4
(C) 800
(D) 80

Respuesta: (C)
Explicación: La salida es 10*20*sizeof(int) que es “800″ para compiladores con tamaño entero de 4 bytes.

Cuando se elimina la referencia de un puntero usando *, se obtiene el tipo del objeto al que se apunta. En el presente caso, es una array de arrays de enteros. Entonces, imprime R*C*sizeof(int).

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *