/******************************************************************************
Online C Compiler.
Code, Compile, Run and Debug C program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <stdio.h>
#include <stdint.h>
struct S {
uint8_t a;
uint32_t b;
uint16_t c;
};
#pragma pack(push, 1)
struct Pack {
uint8_t a;
uint32_t b;
uint16_t c;
};
#pragma pack(pop)
int main()
{
printf("struct size S:%i Pack:%i\n", sizeof(struct S
), sizeof(struct Pack
));
char arr[] = {4, 5, 0, 0, 0, 7, 0}; // a == 4, b == 5, c == 7
struct S* s = (struct S*)arr;
printf("a:%i, b:%i, c:%i\n", s
->a
, s
->b
, s
->c
);
struct Pack* p = (struct Pack*)arr;
printf("a:%i, b:%i, c:%i\n", p
->a
, p
->b
, p
->c
);
return 0;
}
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9ubGluZSBDIENvbXBpbGVyLgogICAgICAgICAgICAgICAgQ29kZSwgQ29tcGlsZSwgUnVuIGFuZCBEZWJ1ZyBDIHByb2dyYW0gb25saW5lLgpXcml0ZSB5b3VyIGNvZGUgaW4gdGhpcyBlZGl0b3IgYW5kIHByZXNzICJSdW4iIGJ1dHRvbiB0byBjb21waWxlIGFuZCBleGVjdXRlIGl0LgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkaW50Lmg+CgpzdHJ1Y3QgUyB7CiAgICB1aW50OF90IGE7CiAgICB1aW50MzJfdCBiOwogICAgdWludDE2X3QgYzsKfTsKCiNwcmFnbWEgcGFjayhwdXNoLCAxKQpzdHJ1Y3QgUGFjayB7CiAgICB1aW50OF90IGE7CiAgICB1aW50MzJfdCBiOwogICAgdWludDE2X3QgYzsKfTsKI3ByYWdtYSBwYWNrKHBvcCkKCmludCBtYWluKCkKewogICAgcHJpbnRmKCJIZWxsbyBXb3JsZFxuIik7CgogICAgcHJpbnRmKCJzdHJ1Y3Qgc2l6ZSBTOiVpIFBhY2s6JWlcbiIsIHNpemVvZihzdHJ1Y3QgUyksIHNpemVvZihzdHJ1Y3QgUGFjaykpOwoKICAgIGNoYXIgYXJyW10gPSB7NCwgNSwgMCwgMCwgMCwgNywgMH07IC8vIGEgPT0gNCwgYiA9PSA1LCBjID09IDcKICAgIHN0cnVjdCBTKiBzID0gKHN0cnVjdCBTKilhcnI7CiAgICBwcmludGYoImE6JWksIGI6JWksIGM6JWlcbiIsIHMtPmEsIHMtPmIsIHMtPmMpOwogICAgCiAgICBzdHJ1Y3QgUGFjayogcCA9IChzdHJ1Y3QgUGFjayopYXJyOwogICAgcHJpbnRmKCJhOiVpLCBiOiVpLCBjOiVpXG4iLCBwLT5hLCBwLT5iLCBwLT5jKTsKCiAgICByZXR1cm4gMDsKfQo=