안녕하세요 기초가 많이 약한 c++ 초보입니다.
(편의상)char*의 realloc이나 vector의 resize를 통해 메모리를 재할당할때 궁금한점이 있어서 질문드립니다.
제 생각에는 realloc이나 resize로 char* 이나 vector의 사이즈를 확장할때 기존에 다른 변수가 사용된 메모리를 침범할 수 있을것 같은데, 이런경우는 발생하지 않나요?
예를들어 메모리주소 1이라는곳에 char* arr가 생성되어있고, 메모리주소 10이라는곳에 int x라는 것이 할당되어있을때, realloc(arr, 20)을 하면 x의 값에 영향을 미치게 될 것 같아보여서요.
그렇다고 realloc이 x가 할당된 주소 10을 피해서 1~9, 11~21을 할당하는것 처럼 보이지는 않구요. (연속성때문에..)
그러고보니 근본적으로 애초에 변수를 선언할때 어떤식으로 메모리 주소를 할당해주는지도 궁금하네요... 랜덤하게 주는건 아닐것같은데 ㅠ
궁금한게 많습니다. 고수님들 알려주세요~~!