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
[45961] Re:char 초기화
물소리 [jasonkrm] 3584 읽음    2006-08-01 17:16
정상입니다!

char szPizza[16] = ""; <- szPizza[0] 에다가 0(NULL)을 넣으라는 것과 마찬 가지입니다.
님께서 szPizza를 문자열로써 이용하시는 것으로 보이는데 문자열로 사용하려는 변수라면
제대로 하신것입니다.

C 또는 C++에서는 문자열의 끝을  NULL로써 인식하도록 정의되어 있습니다.
VC에서 그렇게 보인다면 VC에서는 szPizza[0] 값이 NULL이므로 더이상 표시를 하지 않은 것이구요.
빌더에서는 szPizza가 가리키는 메모리의 내용을 보여주는 것이므로 0번째부터 지정하는 값까지
모든값을 보여주게 되어 있는 차이일 뿐입니다.

szPizza를 printf나 AnsiString 또는 String으로 표시하면 아무것도 나오지 않게 됩니다.

도움이 되었기를...

이재득 님이 쓰신 글 :
: 안녕하세요
:
: char szPizza[16] <- 이 녀석을 초기화 할려고 합니다.
:
: VC 에서는
: char szPizza[16] = ""; <- 이렇게 하거나
: char szPizza[16] = {0,}; <- 이렇게 하거나
: memset(szPizza, 0, sizeof(szPizza));
:
: 이렇게 하면 디버그를 통해서 보면 깔끔하게 초기화 됩니다.
:
: 그런데요.. 빌더에서는 그렇지 않더라구요.
:
: 위의 방법대로 하면 디버그에서 보면 \0\0\0\0\0 <- 이게 끝도없이 들어가 있습니다.
:
: 빌더에서는 어떻게 초기화하나요? 아니면 원래 이게 정상인가요?

+ -

관련 글 리스트
45956 char 초기화 이재득 3801 2006/08/01
45961     Re:char 초기화 물소리 3584 2006/08/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.