Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

How will you show memory representation of C variables?

  • Difficulty Level : Hard
  • Last Updated : 02 Jun, 2017

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.

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.


#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 *));
/* Drover program to test above functions */
int main()
    int i = 1;
    float f = 1.0;
    int *p = &i;
    return 0;
My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!