/* goto statement */

goto out_of_data;
  ...
  ...
out_of_data: printf ("You are out of data");


 
 
 
/* break statement */

for ( i = 0; i < n; ++i )
  {
   eof_flag = fscanf (in_file, "%d", &x[i]);
   if ( eof_flag == EOF )
     break;
   sum += x[i];
  }

eof_flag = 0;
for ( i = 0; i < n && eof_flag != EOF ; ++i )
  {
   eof_flag = fscanf (in_file, "%d", &x[i]);
   if ( eof_flag != EOF )
     sum += x[i];
  }


 
 
 
/* continue statement */

for ( i = 0; i < n; ++i )
  {
   eof_flag = fscanf (in_file, "%d", &x[i]);
   if ( eof_flag != EOF )
     {
      sum += x[i];
      continue;
     }
   sum_tot += sum;
  }


 
 
 
/* null statement */

while ( ( *text++ = getchar () ) != '\n' )
  ;


 
 
 
/* unions */

union mixed                           union mixed
  {                                     {
   char  c;                              char  c;
   float f;                              float f;
   int   i;                              int   i;
  };                                    } x;
union mixed x;

x.c = 'K';
x.f = 786.3869;
x.i = 4;



struct                             #define INTEGER   0
  {                                #define FLOATING  1
   int type;                       #define CHARACTER 2
   char *name;
   union                           #define TABLE_ENTRIES 100
     {
      int   i;
      float f;
      char  c;
     } data;
  } table [TABLE_ENTRIES];

for ( j = 0; j < TABLE_ENTRIES; ++j )
  {
   printf ("%s   ", table[j].name);

   switch ( table[j].type )
     {
      case INTEGER:
	   printf ("%d\n", table[j].data.i);
	   break;
      case FLOATING:
	   printf ("%f\n", table[j].data.f);
	   break;
      case CHARACTER:
	   printf ("%c\n", table[j].data.c);
	   break;
      default:
	   printf ("Unknown type (%d) at element #%d\n", table[j].type, j);
	   break;
     }
  }


 
 
 
/* comma operator */

for ( i = 0, j = 100;   i != 10;   ++i, j -= 10 )
  ...


 
 
 
/* sizeof operator */

long int i;
char c[100];
i = sizeof (c);

struct date ...
struct date year_of_dates[366];
i = ( sizeof (year_of_dates) / sizeof (struct date) );


 
 
 
/* calloc function */

calloc (n, size);


struct date *date_ptr;

date_ptr = (struct date *)
	   calloc ( sizeof (year_of_dates) / sizeof (struct date),
		    sizeof (struct date) );


 
 
 
/* free function */

free (date_ptr);

 
 


/*getting the system date and time */
/*   pages 884-886   */
 
#include<time.h>
struct tm *tm_ptr;                                           
time_t t, *time_ptr;            
 
t = time(time_ptr);           
time_ptr = &t;                   
tm_ptr = localtime(time_ptr);             

printf("%d/%d/%d", tm_ptr->tm_mon+1, tm_ptr->tm_day, tm_ptr->tm_year);
 
 
 
 
 
/* command line arguments */

main (argc, argv)
  int   argc;
  char *argv[];
 {
  ...
 }

dictionary apple

power 2 8

