#include <stdio.h>
#include <stdlib.h>


int main()
{
  struct point2d { float x; float y; };
  typedef struct { float x; float y; float z; } point3d;
  /* comprendre: typedef 
                       struct{...} = 
                       point3d 
  */

  /* definition du type cell avec un pointeur sur himself dedans*/
  typedef struct dummy {int info; struct dummy* suiv; } cell; 

  cell c2;
  cell c1 = {5, &c2};
  

  struct point2d p1 = {1.0, 2.0}, *p2;
  point3d p3 = {1.0, 2.0, 3.0};


  /*   struct cell { int info; cell* suiv; };  Non! */
  /*   typedef struct { int info; cell* suiv; } cell;   Non*/
  
  p2 = &p1;
  printf("\n%d", p1 . x == p2 -> x);
  

  return EXIT_SUCCESS;
}

