Seeing how any datatype is stored in memory

 Language: C

 
#include <stdio.h>
void print_binary(char* p, int size) {
	int i, j;
	for (i = 0; i < size; i++) {
		char byte = p[i];
		for (j = 7; j >= 0; j--) {
			char bit = (byte >> j) & 1;
			printf("%hhd", bit);
		}
		printf(" ");
	}
	printf("\n");
	return;
}
typedef struct {
	char name[20];
	char roll[10];
	float cgpa;
} student;
int main() {
	student S = {"Shubhajeet", "24AI10013", 9.5};
	char* p = (char*)&S;
	print_binary(p, sizeof(S));
	return 0;
}
 


Comments