Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[6426] Re:포인터와 문자열 상수 에서 질문입니다.
남병철.레조 [lezo] 8832 읽음    2009-09-03 01:40
선언과 정의 중에서 정의에 해당하는 포인터 할당에 대해서 말한 것일 것입니다.

선언시에는 할당된 문자열이 스코프(범위) 내에서는 보호받지만(메모리 할당) 정의과정에서 할당된 문자열은
보호받지 못합니다. 즉, 다른 문자열들이 할당을 하게되면 기존 할당한 문자열의 주소 범위가 침범될 수 있습니다.

char* p = "Hello C"; // 선언 할당 (보호)

p = "Hello ?"; // 정의 할당(비보호) ... 사실 메모리 할당이 안된것입니다.
// 테스트 하려면 정의 할당을 시도하시고 아래쪽에서 new, delete 같은 할당이든 변수 할당이든 여러번 시도하고 p 포인터를 점검해 보세요.(물론 p포인터는 길수록 좋습니다. ^^;)


예전에 비슷한 내용을 테스트 했던 기억이 있습니다.
(물론 책에서도 봤지만... 책인지 그냥 아티클인지... -_ -; 기억이...)







위 글이 두루뭉실 하여 좀 검색해보니 좋은 글이 있었습니다. (나중에 좀 정리하겠습니다. 쩝 --;;)
http://shinlucky.tistory.com/213








이명훈 님이 쓰신 글 :
: 안녕하세요.
:
:
: #include 
: #include 
: 
: int main(void)
: {
:     char* literal_p = "Hello C";
:    
:     literal_p[6] = 'J';   // 1번
:     puts(literal_p);
: 
:    strcpy(literal_p, "Hello C");  //2번
:     puts(literal_p);
: 
:    return 0;
: } 

:
:
:
: literal_p가 "Hello C"라는 문자열 상수를 가리키고 있고 
: 그것의 값을 변경할 수 없기 때문에,,
: 실행중 오류가 나야한다고 하는데,
:
: 제가 할 때는 오류가 발생하지않고 잘 실행되었습니다..
: ,이유가 무엇 때문인지 궁금합니다.
:
:
: 에디트 플러스에 Borland C++ 5.5 Compiler 등록해서
: 인수는 터보C 포럼 자료실에 있는 ini파일을 사용했습니다.
:  -v -IC:\Borland\BCC55\include -v -LC:\Borland\BCC55\lib -n"$(FileDir)" "$(FilePath)"

+ -

관련 글 리스트
6397 포인터와 문자열 상수 에서 질문입니다. 이명훈 6179 2009/08/29
6427     Re:포인터와 문자열 상수 에서 질문입니다. 아~자~~! 24448 2009/09/03
6426     Re:포인터와 문자열 상수 에서 질문입니다. 남병철.레조 8832 2009/09/03
6444         Re:Re:포인터와 문자열 상수 에서 질문입니다. 남병철.레조 4788 2009/09/05
6451             안녕하세요. 이명훈 24645 2009/09/06
6415         Re:Re:포인터와 문자열 상수 에서 질문입니다. 이명훈 5568 2009/09/01
6420             Re:Re:Re:포인터와 문자열 상수 에서 질문입니다. 김진호.불사새 9687 2009/09/02
6416             Re:Re:Re:포인터와 문자열 상수 에서 질문입니다. Lyn 6602 2009/09/01
6425                 불사새님, Lyn님 답변 감사합니다. 이명훈 8841 2009/09/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.