i have such an code and this prints the address of local variables. as i understand that int reserve 4 bytes and char reserve 1 byte. when i run the script it shows the address of variables. buf: 006ffdc0 cookie:006ffe1c The question is that if i subtract 006ffe1c-006ffdc0 it should give me 80 bytes, right? but when i calculate this on internet it gives me 92. i am confused here. i kindly ask you where 12 byte added from.
int main(int argc, char **argv) {
int cookie;
char buf[80];
printf("buf: %08x cookie: %08x\n", &buf, &cookie);}