Open In App
Related Articles

How will you show memory representation of C variables?

Improve Article
Save Article
Like Article

Write a C program to show memory representation of C variables like int, float, pointer, etc. 
Get the address and size of the variable. Typecast the address to char pointer. Now loop for size of the variable and print the value at the typecasted pointer.



#include <stdio.h>
typedef unsigned char *byte_pointer;
/*show bytes takes byte pointer as an argument
  and prints memory contents from byte_pointer
  to byte_pointer + len */
void show_bytes(byte_pointer start, int len)
     int i;
     for (i = 0; i < len; i++)
           printf(" %.2x", start[i]);
void show_int(int x)
     show_bytes((byte_pointer) &x, sizeof(int));
void show_float(float x)
     show_bytes((byte_pointer) &x, sizeof(float));
void show_pointer(void *x)
     show_bytes((byte_pointer) &x, sizeof(void *));
/* Driver program to test above functions */
int main()
    int i = 1;
    float f = 1.0;
    int *p = &i;
    return 0;

Last Updated : 18 Feb, 2022
Like Article
Save Article
Similar Reads