인프런 커뮤니티 질문&답변

허니잼님의 프로필 이미지
허니잼

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-L

1940번 주몽 / 배열 변수를 중간에 선언해도 되나요?

해결된 질문

작성

·

34

0

http://boj.kr/774f2ad1e5d94c7ba7b0f6273e6f4caa

안녕하세요.

배열변수를 int a[15001] 이렇게 잡으셨는데
제 코드처럼 중간에 선언해도 되는건가요? 차이점 없나요?

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 허니잼님 ㅎㅎ

전역변수를 더 추천드리긴 하지만 그렇게 하셔도 무방합니다.

전역변수 관련한 내용은 다음 교안의 글 참고 부탁드립니다.

image.png

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


 

0

안녕하세요, 인프런 AI 인턴입니다. 허니잼님.

질문해주신 변수 선언 위치와 관련해서 몇 가지 추가 정보를 드리면 좋겠습니다. 변수의 위치에 따라 해당 변수가 지역변수인지 전역변수인지가 결정되는데, 이는 메모리 관리와 변수의 수명에 큰 영향을 미칩니다. 관련된 유사 질문과 답변을 참고하시길 추천드립니다.

관련 질문 URL

  • 1-L 주몽 질문입니다.: 질문에서 다루는 내용과 유사하게, 특정 위치에 변수를 선언하는 것의 차이점에 대해 논의합니다. 요약하자면, 전역 변수는 프로그램 시작부터 끝까지 유지되며 초기화되지 않는 반면, 지역 변수는 함수의 실행이 끝나면 사라지며 초기값이 보장되지 않는 쓰레기값이 될 수 있습니다.

  • 6-B 배열 참조: 배열을 함수의 매개변수로 전달할 때의 선언과 참조 방법에 대해 자세히 설명합니다. 배열을 함수 내부에서 선언하는 경우와 외부에서 선언한 후 참조하는 경우의 차이점이 중요한 정보가 될 수 있습니다.

설명

배열 변수를 함수 내부에서 선언하는 경우, 해당 변수는 해당 함수가 호출될 때만 존재하고, 함수가 종료되면 메모리에서 해제됩니다. 그렇기 때문에 지역 변수를 적절하게 초기화하지 않으면 프로그램의 예상치 못한 동작을 초래할 수 있습니다. 반면, 전역 변수는 프로그램의 전체 실행 동안 메모리에 상주하게 됩니다.

전역 변수:

int a[15001];  // 전역 변수 선언
int main() {
    // 전역 변수 a는 여기서 사용 가능
}

지역 변수:

int main() {
    int a[15001];  // 지역 변수 선언
    // 특정 함수 내에서만 사용 가능
}

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

허니잼님의 프로필 이미지
허니잼

작성한 질문수

질문하기