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

C++빌더 Q&A
C++Builder Programming Q&A
[47116] Re:Re:재미있는 글이네요. ^^
마술감자.명국진 [magicpotato] 1107 읽음    2006-11-16 18:44
코드를 헷갈리신 것 같습니다.

추가 설명을 드리면..

char *p = "a"; // 이것은 "a"가 위치하는 주소를 포인터 p 에 대입하는 코드
*p = "a"; // 문법 에러
p = "a"; // 역시 "a"가 위치하는 주소를 포인터 p에 대입하는 코드
p = 'a'; // 문법 에러
*p = 'a'; // p가 가리키는 주소의 영역에 'a'를 대입하는 코드

댕글링 포인터에 값을 대입하는 것이기 때문에 논리적으로는 확실히 오류가 맞고,
OS 또는 컴파일러 측면에서 안전성이냐 성능이냐 하는 문제에 따라 익셉션이 발생할 수도 있고 아닐 수도 있습니다.

외랑 님이 쓰신 글 :
: 이경문 님이 쓰신 글 :
: : new, delete를 하니까 아무래도 스택이 아니고 힙 영역 같은데요,
: : 비스무리하게 코딩을 해 봤습니다.
: :
: :     char *p = (char*)malloc(1);
: :     *p = 'a'; <--- (1)
: :     free(p);
: :     *p = 'b'; <--- (2)
: :
: : (2)에서 에러(Access Violation Error)가 나지 않네요. 흐미~ -_-;
:
: 위 코드는 당연히 동작하는 코드인게 맞다고 생각되는 걸요..
: p는 포인터변수이고 하나의 동적으로 할당된 포인터를 저장했다가...
: 'a'가 저장된 주소를 저장했고(이러면 동적으로 할당된 주소는 날아가버리겠죠)
: 저장된 주소를 free시키고(동적 할당은 아니지만 가능하겠죠)
: 다시 'b'가 저장된 주소를 대입했으니...
:
: 왜 에러가 나야한다고 하시는 건지.....

+ -

관련 글 리스트
47059 메모리 엑세스문제 - 고수님의 관심이 필요해요 수야!╋ 1168 2006/11/14
47068     Re:메모리 엑세스문제 - 고수님의 관심이 필요해요 김상구.패패루 1284 2006/11/14
47069         Re:Re:메모리 엑세스문제 - 고수님의 관심이 필요해요 수야!╋ 1185 2006/11/14
47073             Re:Re:Re:메모리 엑세스문제 - 고수님의 관심이 필요해요 마술감자.명국진 1289 2006/11/14
47060     Re:메모리 엑세스문제 - 고수님의 관심이 필요해요 마술감자.명국진 1189 2006/11/14
47061         Re:Re:메모리 엑세스문제 - 고수님의 관심이 필요해요 수야!╋ 1102 2006/11/14
47065             Re:Re:Re:메모리 엑세스문제 - 고수님의 관심이 필요해요 마술감자.명국진 1195 2006/11/14
47064             재미있는 글이네요. ^^ 이경문 1133 2006/11/14
47110                 Re:재미있는 글이네요. ^^ 외랑 1148 2006/11/16
47116                     Re:Re:재미있는 글이네요. ^^ 마술감자.명국진 1107 2006/11/16
47066                 Re:재미있는 글이네요. ^^ 수야!╋ 1106 2006/11/14
47067                     슬픈 일이죠. -_-; 이경문 1200 2006/11/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.