변수 a가 만들어지고 사라지고 만들어지고 사라지고 반복하면서 하나의 주소할당만 계속 존재하는거냐
아니면 루프마다 변수 a가 새로 생성되거 여러개의 주소를 가지고 있는거냐
댓글 5
지역변수니까 스택에 저장되고 루프가 돌때마다 다른 메모리의 위치를 참조하니까 매번 바뀜
ㅈㅎ(183.102)2023-04-26 09:51
답글
그럼 루프 한번 돌때마다 안에서 선언한 변수는 사라지는거임?
익명(118.235)2023-04-26 10:53
너가 말한 코드에서 a의 주소는 다 똑같은 값이 출력되겠지 병신아 이새끼는 씨발 아무것도 모르네 취직 어떻게 했냐 대체
ㅈㅎ(183.102)2023-04-26 11:09
답글
왜 아래랑 말이 달라
익명(118.235)2023-04-26 11:10
답글
내가 잘못봐서 int a를 안에다 선언하면 컴파일러가 알아서 재사용 한다 근데 저걸 for문 밖에서 지역변수로 선언하면 호출할때마다 주소가 바뀌겠지? 그러니까 스택은 함수 들어갈때 확보하고 끝나면 정리된다. 그러면 스택의 주소는 계속 바뀌겠지? 근데 너가 질문한거는 for문 안에 int a를 선언 한거니까 주소값이 바뀌지 않아 왜냐면 for문이 몇번 반복할줄 알고 스택에 그걸 다 새로 정의하겠냐? 그렇게 되면 오버플로가 일어나겠지? 이해 됐냐
지역변수니까 스택에 저장되고 루프가 돌때마다 다른 메모리의 위치를 참조하니까 매번 바뀜
그럼 루프 한번 돌때마다 안에서 선언한 변수는 사라지는거임?
너가 말한 코드에서 a의 주소는 다 똑같은 값이 출력되겠지 병신아 이새끼는 씨발 아무것도 모르네 취직 어떻게 했냐 대체
왜 아래랑 말이 달라
내가 잘못봐서 int a를 안에다 선언하면 컴파일러가 알아서 재사용 한다 근데 저걸 for문 밖에서 지역변수로 선언하면 호출할때마다 주소가 바뀌겠지? 그러니까 스택은 함수 들어갈때 확보하고 끝나면 정리된다. 그러면 스택의 주소는 계속 바뀌겠지? 근데 너가 질문한거는 for문 안에 int a를 선언 한거니까 주소값이 바뀌지 않아 왜냐면 for문이 몇번 반복할줄 알고 스택에 그걸 다 새로 정의하겠냐? 그렇게 되면 오버플로가 일어나겠지? 이해 됐냐