summaryrefslogtreecommitdiff
path: root/reference/C/EXAMPLES/sizeof.c
blob: 869bd5b4914fde88f485d10693f9b230368b69f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/****************************************************************************
 *
 * Purpose: Find out the size of the different data types
 * Author:  M J Leslie
 * Date:    27-feb-94
 *
 ****************************************************************************/

#include <stdio.h>
main()
{
					/*
					 * int/char   are 'type specifiers'
					 * short/long are 'type qualifiers'
					 */
  int i;

  printf("    short int is %2d bytes \n", sizeof(short int));
  printf("          int is %2d bytes \n", sizeof(int));
  printf("        int * is %2d bytes \n", sizeof(int *));
  printf("     long int is %2d bytes \n", sizeof(long int));
  printf("   long int * is %2d bytes \n", sizeof(long int *));
  printf("   signed int is %2d bytes \n", sizeof(signed int));
  printf(" unsigned int is %2d bytes \n", sizeof(unsigned int));
  printf("\n");
  printf("        float is %2d bytes \n", sizeof(float));
  printf("      float * is %2d bytes \n", sizeof(float *));
  printf("       double is %2d bytes \n", sizeof(double));
  printf("     double * is %2d bytes \n", sizeof(double *));
  printf("  long double is %2d bytes \n", sizeof(long double));
  printf("\n");
  printf("  signed char is %2d bytes \n", sizeof(signed char));
  printf("         char is %2d bytes \n", sizeof(char));
  printf("       char * is %2d bytes \n", sizeof(char *));
  printf("unsigned char is %2d bytes \n", sizeof(unsigned char));
}


/************************************************************* 
 *
 *	The O/P from this program is 
 *
 *     short int is  2 bytes 
 *           int is  4 bytes 
 *         int * is  4 bytes 
 *      long int is  4 bytes 
 *    long int * is  4 bytes 
 *    signed int is  4 bytes 
 *  unsigned int is  4 bytes 
 * 
 *         float is  4 bytes 
 *       float * is  4 bytes 
 *        double is  8 bytes 
 *      double * is  4 bytes 
 *   long double is 12 bytes 
 * 
 *   signed char is  1 bytes 
 *          char is  1 bytes 
 *        char * is  4 bytes 
 * unsigned char is  1 bytes 
 * 
 *
 **************************************************************/