2011-08-08 4 views

답변

3

이것은 구현에 따라 다르며 표준에 의해 지정되지 않았습니다. 특정 컴파일러에 대한 설명서를 참조하여 배치 위치를 결정해야합니다.

일반적으로 컴파일러는 코드 세그먼트와 같은 읽기 전용 데이터 세그먼트에 문자열 리터럴을 배치합니다. 이를 통해 여러 개의 다른 문자열 리터럴을 공유 할 수있는 단일 메모리를 사용하여 프로그램에 인코딩 할 수 있습니다. 또한 문자열 리터럴을 내부 읽기 전용으로 수정하려고 시도하는 것은 잘못된 생각입니다. 읽기 전용 세그먼트에 쓰기 때문에 세그먼트 오류가 종종 발생하기 때문입니다. 이것은 보장 된 것은 아니지만 종종 이렇게 구현됩니다.

관련 문제