RicardasSim icon

sizeof, variable, pointer

RicardasSim | PRO | 12/01/20 10:27:15 PM UTC | 0 ⭐ | 1452 👁️ | Never ⏰ | []
C |

1.46 KB

|

None

|

0 👍

/

0 👎

// Linux 64bit, -std=c99 -Wall -Wextra -Wpedantic -Wshadow
 
#include <stdio.h>
#include <stdlib.h>
 
char c;
char *p_c;
 
int n;
int *p_n;
 
long l;
long *p_l;
 
float f;
float *p_f;
 
double d;
double *p_d;
 
int main()
{
    printf( "sizeof c %zu\n", sizeof c );
    printf( "sizeof &c %zu\n", sizeof &c );
    printf( "sizeof p_c %zu\n", sizeof p_c );
    printf( "sizeof *p_c %zu\n\n", sizeof *p_c );
 
    printf( "sizeof n %zu\n", sizeof n );
    printf( "sizeof &n %zu\n", sizeof &n );
    printf( "sizeof p_n %zu\n", sizeof p_n );
    printf( "sizeof *p_n %zu\n\n", sizeof *p_n );
 
    printf( "sizeof l %zu\n", sizeof l );
    printf( "sizeof &l %zu\n", sizeof &l );
    printf( "sizeof p_l %zu\n", sizeof p_l );
    printf( "sizeof *p_l %zu\n\n", sizeof *p_l );
 
    printf( "sizeof f %zu\n", sizeof f );
    printf( "sizeof &f %zu\n", sizeof &f );
    printf( "sizeof p_f %zu\n", sizeof p_f );
    printf( "sizeof *p_f %zu\n\n", sizeof *p_f );
 
    printf( "sizeof d %zu\n", sizeof d );
    printf( "sizeof &d %zu\n", sizeof &d );
    printf( "sizeof p_d %zu\n", sizeof p_d );
    printf( "sizeof *p_d %zu\n\n", sizeof *p_d );
 
    return 0;
}
 
/*
output:
 
sizeof c 1
sizeof &c 8
sizeof p_c 8
sizeof *p_c 1
 
sizeof n 4
sizeof &n 8
sizeof p_n 8
sizeof *p_n 4
 
sizeof l 8
sizeof &l 8
sizeof p_l 8
sizeof *p_l 8
 
sizeof f 4
sizeof &f 8
sizeof p_f 8
sizeof *p_f 4
 
sizeof d 8
sizeof &d 8
sizeof p_d 8
sizeof *p_d 8
 
*/
 

Comments