뾰족한 장소의 주소가 계속 변경되는 이유는 무엇입니까? 무슨 일이 일어나게 만드는 메모리 내부에, 또는 내 printf
성명에 뭔가 이상한가?컴파일 할 때마다 메모리 주소가 계속 변경되는 이유는 무엇입니까?
#include <stdio.h>
#include <stdlib.h>
int main()
{
char blocks[3] = {'A', 'B', 'C'};
char *ptr = &blocks[0];
char temp;
temp = blocks[0];
printf(" %c, %d ", temp, &temp);
return 0;
}
OUTPUT
A, 1764940775
A, 1731746791
"pointed place"즉, temp는 단일 char 스택 변수입니다. 버퍼, 포인터, 또는 둘 중 하나와 관련된 것 (스택에도 있지만). 즉 10,000 번 반복하면 패턴이 생성됩니다. – WhozCraig