Salida de programas en C | conjunto 10

Prediga la salida de los siguientes programas. 
Nivel de dificultad: Pregunta de novato 1
 

c

#include<stdio.h>
int main()
{
   typedef int i;
   i a = 0;   
   printf("%d", a);
   getchar();
   return 0;
}   

Salida: 0 
No hay problema con el programa. Simplemente crea un tipo i definido por el usuario y crea una variable a de tipo i .
Pregunta 2 

c

#include<stdio.h>
int main()
{
  typedef int *i;
  int j = 10;
  i *a = &j;   
  printf("%d", **a);
  getchar();
  return 0;
}   

Salida: Error del compilador -> Inicialización con tipo de puntero incompatible. 
La línea typedef int *i convierte a i en type int *. Entonces, la declaración de a significa a es un puntero a un puntero. El mensaje de error puede ser diferente en diferentes compiladores. 

Una posible solución correcta de este código se encuentra en la Pregunta 4. Ahora también intente esto:

C

#include <stdio.h>
 
int main()
{
  typedef int *i;
  int j = 10;
  int *p = &j;
  i *a = &p;   
  printf("%d", **a);
  getchar();
  return 0;
}

Pregunta 3  

c

#include<stdio.h>
int main()
{
  typedef static int *i;
  int j;
  i a = &j;   
  printf("%d", *a);
  getchar();
  return 0;
}   

Salida: Error del compilador -> Múltiples clases de almacenamiento para a. 
En C, typedef se considera como una clase de almacenamiento . El mensaje de error puede ser diferente en diferentes compiladores. 
Pregunta 4 

c

#include<stdio.h>
int main()
{
  typedef int *i;
  int j = 10;
  i a = &j;   
  printf("%d", *a);
  getchar();
  return 0;
} 

Resultado: 
10 
Escriba comentarios si encuentra que alguna de las respuestas/explicaciones es incorrecta, o si desea compartir más información sobre los temas discutidos anteriormente. 
Referencias:  
http://www.itee.uq.edu.au/~comp2303/Leslie_C_ref/C/SYNTAX/typedef.html  
http://publib.boulder.ibm.com/infocenter/macxhelp/v6v81/index.jsp? topic=/com.ibm.vacpp6m.doc/language/ref/clrc03sc03.htm  
http://msdn.microsoft.com/en-us/library/4x7sfztk.aspx

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 *