iOS 면접 문제: 쌓 기와 창고 의 차이

1537 단어
  • (stack) 은 컴 파 일 러 가 자동 으로 분배 하여 방출 하고 저장 방법 (함수) 의 매개 변수 값, 국부 변수의 값 등 이다. 창 고 는 낮은 주소 로 확 장 된 데이터 구조 로 연속 적 인 메모리 구역 이다.즉, 창고 꼭대기 의 주소 와 창고 의 최대 용량 은 시스템 이 미리 정 한 것 이다.
  • (heap) 일반적으로 프로그래머 가 분배 하여 방출 한다. 만약 에 프로그래머 가 방출 하지 않 으 면 프로그램 이 끝 날 때 OS 에서 회수 하고 높 은 주소 로 확 장 된 데이터 구 조 는 연속 적 이지 않 은 메모리 구역 으로 쌓 아서 얻 는 공간 이 비교적 유연 하 다.
  • : 더미 에 있어 빈번 한 new / delete 는 반드시 메모리 공간의 불 연속 을 초래 하여 대량의 파편 을 만들어 프로그램의 효율 을 떨 어 뜨 릴 것 이다.스 택 에 있어 서 이 문 제 는 존재 하지 않 습 니 다. 스 택 은 선진 적 인 대기 열 이기 때문에 그들 은 이렇게 일일이 대응 하기 때문에 스 택 중간 에서 메모리 블록 이 꺼 질 수 없습니다.
  • : 무 더 기 는 모두 동태 적 으로 분배 되 고 정태 적 으로 분배 되 는 더미 가 없다.스 택 은 두 가지 분배 방식 이 있 습 니 다. 정적 분배 와 동적 분배 입 니 다.정적 분 배 는 컴 파 일 러 가 완성 한 것 이다. 예 를 들 어 국부 변수의 분배 이다.동적 분 배 는 alloca 함수 에 의 해 분배 되 지만 스 택 의 동적 분배 와 더 미 는 다 릅 니 다. 그의 동적 분 배 는 컴 파일 러 에 의 해 방출 되 고 우리 가 손 으로 실현 할 필요 가 없습니다.
  • : 스 택 은 기계 시스템 이 제공 하 는 데이터 구조 로 컴퓨터 는 바 텀 에서 스 택 에 지원 을 제공 합 니 다. 전문 적 인 레지스터 저장 스 택 의 주 소 를 분배 하고 스 택 에서 나 오 는 것 은 모두 전문 적 인 명령 을 집행 하기 때문에 스 택 의 효율 이 비교적 높다 는 것 을 결정 합 니 다.더 미 는 C / C + + 함수 라 이브 러 리 에서 제공 하 는데 그 메커니즘 은 매우 복잡 하 다.
  • ( )(static) 전역 변수 와 정적 변수의 저장 소 는 한 곳 에 놓 여 있 습 니 다. 초기 화 된 전역 변수 와 정적 변 수 는 한 지역 에 있 고 초기 화 되 지 않 은 전역 변수 와 초기 화 되 지 않 은 정적 변 수 는 인접 한 다른 지역 에 있 습 니 다.프로그램 이 끝 난 후에 시스템 이 방출 됩 니 다.
  • - 상수 문자열 은 바로 여기에 놓 여 있다.프로그램 이 끝 난 후 시스템 에서 방출 됩 니 다.
  • - 함수 체 를 저장 하 는 바 이 너 리 코드
  • iOS 면접 문제 모음 집

    좋은 웹페이지 즐겨찾기