Typecasting exercise

 1#include <stdio.h>
 2
 3int main(void)
 4{
 5        char arr[] = { 0x11, 0x22, 0x33, 0x44 };
 6
 7        unsigned int *ptr;
 8
 9        ptr = (unsigned int *)arr;
10
11        printf("*ptr = %x\n", *ptr);
12
13        return 0;
14}
 1#include <stdio.h>
 2
 3int main(void)
 4{
 5        char arr[] = { 0x44, 0x33, 0x22, 0x11 };
 6
 7        unsigned int *ptr;
 8
 9        ptr = (unsigned int *)arr;
10
11        printf("*ptr = %x\n", *ptr);
12
13        return 0;
14}
 1#include <stdio.h>
 2
 3int main(void)
 4{
 5        unsigned int a = 0x11223344;
 6
 7        unsigned char *ptr;
 8
 9        ptr = (unsigned char *)&a;
10
11        printf("ptr[0] = %x\n", ptr[0]);
12        printf("ptr[1] = %x\n", ptr[1]);
13        printf("ptr[2] = %x\n", ptr[2]);
14        printf("ptr[3] = %x\n", ptr[3]);
15
16        return 0;
17}
 1#include <stdio.h>
 2
 3int main(void)
 4{
 5        unsigned int a = 0x44332211;
 6
 7        unsigned char *ptr;
 8
 9        ptr = (unsigned char *)&a;
10
11        printf("ptr[0] = %x\n", ptr[0]);
12        printf("ptr[1] = %x\n", ptr[1]);
13        printf("ptr[2] = %x\n", ptr[2]);
14        printf("ptr[3] = %x\n", ptr[3]);
15
16        return 0;
17}
 1#include <stdio.h>
 2
 3unsigned char buffer[] = {0x11, 0x22, 0x45, 0x67, 0xc0, 0xb5, 0xd7, 0x0b, 0xac, 0x5b};
 4
 5struct hdr {
 6        unsigned short int fc;
 7        unsigned short int duration;
 8        unsigned char ra_addr[6];
 9};
10
11int main(void)
12{
13        struct hdr *phdr;
14
15        phdr = (struct hdr *) buffer;
16
17        printf("phdr->fc = %x\n", phdr->fc);
18        printf("phdr->duration = %x\n", phdr->duration);
19
20        printf("phdr->ra_addr[0] = %x\n", phdr->ra_addr[0]);
21        printf("phdr->ra_addr[1] = %x\n", phdr->ra_addr[1]);
22        printf("phdr->ra_addr[2] = %x\n", phdr->ra_addr[2]);
23        printf("phdr->ra_addr[3] = %x\n", phdr->ra_addr[3]);
24        printf("phdr->ra_addr[4] = %x\n", phdr->ra_addr[4]);
25        printf("phdr->ra_addr[5] = %x\n", phdr->ra_addr[5]);
26
27        return 0;
28}