How to print struct memory bytes in C

1 Answer

0 votes
#include <stdio.h>

typedef struct Info {
    int n; // 4
    short st; // 2
    char ch; // 1
    char s[5]; // 5
    int *p; // 8
} Info;



int main(void) {
    int a;
    Info inf = {812, 17, 'a', "c c++", &a};

    unsigned char data ;
    for (int i = 0; i < sizeof(inf); i++) {
        if (i % 8 == 0 && i != 0) {
            printf("\n");
        }
        data = *(((unsigned char*) &inf) + i);
        printf("%02x ", data);
    }
    
    return 0;
}



/*
run:

2c 03 00 00 11 00 61 63 
20 63 2b 2b af 55 00 00 
e8 f5 ba 61 fd 7f 00 00

*/

 



answered Dec 26, 2020 by avibootz

Related questions

1 answer 236 views
1 answer 147 views
147 views asked May 4, 2021 by avibootz
1 answer 211 views
2 answers 273 views
1 answer 176 views
176 views asked Jul 10, 2015 by avibootz
...