본문 바로가기

전체 글

(228)
Static static static 키워드는 블록 내에서 선언된 지역 변수에서도 사용할 수 있다. 지역 변수는 '자동 주기(auto duration)'를 가지며, 정의되는 시점에서 생성되고 초기화되며, 정의된 블록이 끝나는 지점에서 소멸한다. static 키워드를 사용한 지역 변수는 완전히 다른 의미가 있다. static 키워드를 사용한 지역 변수는 '자동 주기(auto duration)'에서 '정적 주기(static duration)'로 바뀐다. 이것을 정적 변수(static variable)라고도 부르는데, 생성된 스코프(=범위)가 종료한 이후에도 해당 값을 유지하는 변수다. 또한, 정적 변수는 한 번만 초기화되며 프로그램 수명 내내 지속된다. 프로그램을 시작하면 메모리 할당, 종료시 해제 정적 전역 변수 초기..
스택 프레임(stack frame) 메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역입니다. 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸합니다. 함수가 호출되면 스택에는 함수의 매개변수, 호출이 끝난 뒤 돌아갈 반환 주소값, 함수에서 선언된 지역 변수 등이 저장됩니다. 이렇게 스택 영역에 차례대로 저장되는 함수의 호출 정보를 스택 프레임(stack frame)이라고 합니다. 이러한 스택 프레임 덕분에 함수의 호출이 모두 끝난 뒤에, 해당 함수가 호출되기 이전 상태로 되돌아갈 수 있습니다. LIFO - 스택은 푸시(push) 동작으로 데이터를 저장하고, 팝(pop) 동작으로 데이터를 인출합니다.
프로그램의 실행 과정 메모리 구조 메모리(Memory) 데이터를 기록하거나 읽기 위한 저장공간이다. 램(RAM)과 롬(ROM), 플래시 메모리로 나눌 수 있다. 램(RAM) : 읽고 쓰기가 가능한 주 기억장치이다. 전원 종료시 데이터가 사라지는 휘발성 메모리이다. 롬(ROM) : 저장된 내용을 읽을 수 만 있는 기억장치. 비휘발성 메모리이다. 변경을 하지 않는 소프트웨어를 저장하는데 이용한다. 프로그램의 실행 과정 전처리기 -> 컴파일러 -> 목적코드 -> 링커(목적코드와 라이브러리, 시동코드를 링크하는 과정) -> 실행코드(실행파일) 메모리의 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 운영체제는 다양한 메모리 공간을 제공한다. 1. 코드영..
환영합니다! #1 글을 작성하고 블로그를 관리해보세요. 님의 회원 가입을 진심으로 축하합니다. 이 글은 비공개로 작성돼 있습니다. '편집'으로 내용을 바꾸시거나, 삭제 후 '새 글을 작성'하셔도 됩니다. 글 뿐만 아니라 블로그의 각종 설정을 변경할 수도 있습니다. '블로그관리'를 확인해보세요. #2 다양한 스킨이 있어요. 티스토리에 있는 다양한 '스킨'도 살펴 보세요. 블로그나 사이트를 사용하는 목적에 맞게 스킨을 고를 수 있습니다. 어떤 이야기를 주로 하실 건가요? 잘 생각해 보시고, 마음에 드는 스킨을 고르세요. '스킨 편집'을 통해 다양한 커스텀, 그리고 홈 꾸미기를 적용하실 수도 있답니다. #3 포럼에서 사람들과 소통하세요. 마지막으로 사용하시다가 티스토리에 대해 궁금한 내용이 있다면 '포럼'을 확인하세요. ..