프로그램 메모리 분포

1084 단어 C
1. 스 택: 부분 변수, 함수 파라미터 와 함수 중간 상태 등 을 저장 하고 데이터 구조 중의 스 택 의 '선진 후 출' 특성 을 가진다.어떤 함 수 를 호출 할 때 이 함수 의 상기 데 이 터 를 창고 에 넣 고 호출 을 끝 낼 때 창고 에서 소각 하기 때문에 왜 국부 변수 와 형 삼 의 생존 주기 가 함수 호출 과 관련 이 있 는 지 이해 할 수 있다.스 택 의 장점 은 분배 공간 속도 가 빠 르 고 분배 공간 이 유한 하 다 는 것 이다.
2. 더미: 동적 분배 (malloc, new) 를 저장 하 는 대상 (데이터 구조의 더미 와 아무런 관계 가 없 음).C 의 특성 에 따라 더미 에 저 장 된 대상 은 인위적인 석방 (free) 이나 프로그램 이 종 료 될 때 까지 존재 합 니 다.쌓 아 올 리 는 장점 은 스 택 보다 공간 이 훨씬 크다 는 것 입 니 다. 단점 은 공간 분배 속도 가 느 린 것 입 니 다. (특정한 메모리 공간 검색 알고리즘 을 사용 하기 때 문 입 니까?)
3. 정적 저장 소: 정적 저장 소 를 가 진 변수 (전역 변수, static 에 의 해 수 정 된 부분 변수) 를 저장 합 니 다. 정적 저장 소의 변 수 는 프로그램 이 실행 되 는 동안 계속 존재 합 니 다 (그러나 보 이 는 지 여 부 는 역할 영역: 전역 또는 부분 에 달 려 있 습 니 다)
4. 텍스트 상수 영역: 문자열 상수 저장 (같은 문자열 상수 가 같은 위치 에 저 장 될 수 있 습 니 다. 이것 은 컴 파일 러 의 최적화 여부 와 관련 이 있 습 니 다)
5. 코드 영역
예 를 들 어 설명:
4. 567913. 그 중에서 전역 변수 a 와 정적 저장 기 를 가 진 부분 변수 g 는 정적 저장 소 에 저 장 됩 니 다.변수 b, c 와 포인터 변수 d, e, f 가 스 택 에 저 장 됩 니 다.malloc 함 수 를 이용 하여 더미 에 5 * sizieof (int) 크기 의 메모리 공간 을 분배 합 니 다.두 문자열 의 상수 "hello" 는 문자 상수 구역 에 저장 되 어 있 으 며,
이 가능 하 다, ~ 할 수 있다,...

좋은 웹페이지 즐겨찾기