C 언어 에세이 1 : 정적 및 동적 메모리 할당 변수

첫째, 몇 가지 기본 개념 (인터넷의 다양한 버전이 매우 혼란이며, 개인 이해 정돈

동적 및 정적의 메모리 분류 많은, 다섯 지역, 세 부분;

메모리 영역 :

스택으로 나누어 1 동적 메모리 영역은 스택 영역이라고도한다 스택 세그먼트
1.1 스택 영역 (스택) 컴파일러 자동으로 할당 해제, 저장 기능 매개 변수 , 로컬 변수 등을 포함한다. 기능 단부가 자동 해제
1.2 , 프로그래머가 해제되지 않는 경우 (힙) 일반적으로 프로그래머가 할당이 해제 절차 OS의 종료에 의해 회수 될 수있다.
        아웃하거나 새로운 객체의 malloc (분리없이 메모리 누수가 발생)

 

2. 고정 영역으로 분할 된 데이터 세그먼트 ( 토출 데이터 ), 코드 세그먼트 ( 판독 전용 )

2.1 글로벌 영역 ( 데이터 세그먼트 -) 전역 변수정적 변수 데이터 세그먼트에 저장된이 켜져있는
  영역에서의 글로벌 및 정적 변수를 초기화,
  다른 하나가 인접하는 글로벌 변수 및 정적 변수를 초기화되지 않은 초기화 된 영역입니다.
  프로그램 후 시스템 자료를 가지고있다.

  프로그램 컴파일 시간에 메모리는 프로그램의 전체 실행 중에,이 메모리를 좋은 할당 된이

2.2 리터 일정 지역 ( 조각 ) - 상수 문자열이 여기에 배치됩니다. 시스템에 의해 발표 된 프로그램의 종료 후.
  (상수 수정할)
  는 코드 세그먼트의 불변 영역을 메모리 고려하지 메모리 정적 메모리
2.3 프로그램 코드 영역 ( 단편 ) - 이진 코드 저장 기능 체. 일정한 지역코드 영역 입니다 조각

연락처 램 및 롬; 답변하는 의심의 여지가 여기에 요약 된 힙, 스택, 글로벌 영역 램을 존재 가져

      E는 코드 세그먼트 처방에 저장됩니다. 리터럴 귀중한 E의 메모리에 광장에 안, 메모리를 차지하지 않지만, 발표 될 예정이다

지금까지 변수의 관점에서 보는 바와 같이 재 - 할당 :

나 개념에 대해 얘기하자

범위 : 지역 작품. 분할 된

1 블록 {A} 영역에있어서

2가 .c 파일이 정적 글로벌 변수에 의해 정의 된 파일 (

3, 기간의 전체 주요 기능 : 사이클 전체 프로그램 실행은 일반적으로 운영 체제를 실행 한 후, 메인 의지 끝나지.

 

로컬 변수 : 동적 메모리 (의 단부 해제 기능 스택 영역 스택 온)
      에는 초기 값이없는 경우는 랜덤
     범위 : 코드 블록 (코드 모두 {A} 둘러싸인 부분은, 함수는 일반적으로 대부분의 시작 부분에 사용되는
정적 로컬 변수 : 정적 정적 메모리 ( 데이터 세그먼트 함수 호출)은 최종 값에 유지하는 유지 다음 호출의 최종
      회만 생성 초기화가 0 자동으로 초기화되지
      릴리스 : 주요 기능은 프로그램, 정적 변수의 전체 기간을 선언하는 것 복귀 주 후에 릴리스
     (정적 변경 주기, 사실, 변화 범위를, 전체 변수의 성질이 변경)

글로벌 변수 다음 정적 메모리 ( 데이터 세그먼트 ) 생성 및 초기화하는 초기화되지 않은 디폴트 값은 0이되고
      , 각 파일에 사용될 수있는
      동일한 이름 (파일과 상호 참조의 차이가 생각 될) 수 없도록

정적 글로벌 변수 : 정적 데이터 세그먼트는 중복 된 이름, 본 문서에서 유일한 변수 해결하기
      (파일 헤더가 직접 소스 일반적 아님)
      (정적 변화 범위 지정 )

파일 간 전역 변수 : 통근 선언의 정의뿐만 아니라
        직접 사용하는 통근자에게 불평 것이다 컴파일러를 참조하는 일반적인 전역 변수
        하지만, 다른 파일을 볼 수있는
        일반적인 사용은 통근 기능 인터페이스입니다
       (여기서를 찾기 위해 컴파일러 말은 통근없이 찾을 수 없습니다 )


글로벌 변수를 사용하는 함수를 extern 지정자이다

식별자 : 변수의 이름입니다
키워드 : 변수 유형

통근
https://blog.csdn.net/heli007/article/details/50518604
일부 복잡한 프로젝트에서,
더, 어떤 함수 선언하기 전에 통근 수정을 추가 익숙해
누락이 발생하는 헤더 파일을 컴파일 오류가 방지 할 수 있습니다.

정적
https://blog.csdn.net/a827415225/article/details/45023949
, 글로벌 가시성의 손실 후 함수의 정적 표현을 추가
전용 파일 위치를 기능 영역에서 볼 수 \

추천

출처www.cnblogs.com/yyyyloveu/p/12210766.html