well thank you for critisizing my code when it wasnt even in question. thats not code that i've actually tested, and i wrote it on the fly and do expect it to have errors. i did write code to find the diffrence. there is a really wierd diffrence here's the ACTUALL code.
Code:
#include <stdio.h>
long get_sp()
{
__asm__("movl %esp, %eax");
}
int main()
{
char string[1030];
int i;
long retaddy;
fprintf(stderr, "retaddy: %x\n", retaddy);
retaddy=get_sp();
for(i=0;i<20;i++)
{
*(long *)&string[i]=retaddy;
fprintf(stderr, "*&string[%i]: %x\n",i ,*(long *)&string[i]);
}
for(i=0;i<20;i++)
{
(long *)string[i]=retaddy;
fprintf(stderr, "(long *)string[%i]: %x\n",i , (long *)string[i]);
}
};
this gives me the following:
Code:
*&string[0]: bffff4ac
*&string[1]: bffff4ac
*&string[2]: bffff4ac
*&string[3]: bffff4ac
*&string[4]: bffff4ac
*&string[5]: bffff4ac
*&string[6]: bffff4ac
*&string[7]: bffff4ac
*&string[8]: bffff4ac
*&string[9]: bffff4ac
*&string[10]: bffff4ac
*&string[11]: bffff4ac
*&string[12]: bffff4ac
*&string[13]: bffff4ac
*&string[14]: bffff4ac
*&string[15]: bffff4ac
*&string[16]: bffff4ac
*&string[17]: bffff4ac
*&string[18]: bffff4ac
*&string[19]: bffff4ac
(long *)string[0]: ffffffac
(long *)string[1]: ffffffac
(long *)string[2]: ffffffac
(long *)string[3]: ffffffac
(long *)string[4]: ffffffac
(long *)string[5]: ffffffac
(long *)string[6]: ffffffac
(long *)string[7]: ffffffac
(long *)string[8]: ffffffac
(long *)string[9]: ffffffac
(long *)string[10]: ffffffac
(long *)string[11]: ffffffac
(long *)string[12]: ffffffac
(long *)string[13]: ffffffac
(long *)string[14]: ffffffac
(long *)string[15]: ffffffac
(long *)string[16]: ffffffac
(long *)string[17]: ffffffac
(long *)string[18]: ffffffac
(long *)string[19]: ffffffac
i want to know why they are (almost) completly diffrent.