func 함수 안에서 배열이 선언되고
그 배열안에 값이 저장된다음에 그 배열의 주소값을 리턴하는데
메인함수에서는 func함수가 호출이 끝나면 func내에 선언되었던 배열은 스택에서 지워지잖아
근데 메인함수에서 return 받은 func 안의 배열주소값을 가지고
printf로 찍어봤더니 배열이 출력이됨. 뭐지
그 배열안에 값이 저장된다음에 그 배열의 주소값을 리턴하는데
메인함수에서는 func함수가 호출이 끝나면 func내에 선언되었던 배열은 스택에서 지워지잖아
근데 메인함수에서 return 받은 func 안의 배열주소값을 가지고
printf로 찍어봤더니 배열이 출력이됨. 뭐지
지우는건 아니고 냅둠
근데 원래 출력하면 안찍히지 않음? 몇가지 경우를 만들어서 실행해보니까 안찍히는데 내가 과제로 만든건 잘찍혀서 뭔가 이상함
아무작업이나 하는 함수 하나 만들고 사이에 호출시켜보셈
void nothing(void){char s[2048] = {0}; return ;}
메모리에 있던게 사라지는건 아니지
void nothing(void){char s[2048] = {0}; return ;} 해놓고 디버깅해서 스택에 있는게 사라지는지 어떤지 확인해보라는 말인가요?