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

C/C++ Q/A
[1462] Re:Re:[질문] 다시 찐짜 상세히 ... 포인터에 대해서.. 초짜...
진수.네모 [miman101] 1291 읽음    2002-10-31 17:53
#include<stdio.h>

main()
{
    char *b ;
    char a[] = "sin dj";
    int i;

    b = "SIN DJ";
    for(i=0; i<6;i++)
        printf("a[%d] =========> %c \n",i,a[i]);
    for(i=0; i<6;i++)
        printf("*(b+%d) =======> %c \n",i,*(b+i));

}

결과....
a[0] =============> s
a[1] =============> i
a[2] =============> n
a[3] =============>
a[4] =============> d
a[5] =============> j

*(b+0) ===========> S
*(b+1) ===========> I
*(b+2) ===========> N
*(b+3) ===========>
*(b+4) ===========> D
*(b+5) ===========> J

물론 b 가 주소를 저장하는 변수라는 것은 알고 있습니다. 다만. 제가 궁금한것은

"SIN DJ"라는 스트링이 메모리에 저장되려면 공간이 있어야 하는데....

char *b; 로는 메모리에 저장공간 할당은 이루어 진것이 아니죠...

헌데... b="SIN DJ"; 라는 구문이 먹더군요....

다시 생각해 보면  메모리에 저장공간이 할당되고 스트링을 저장한 후

첫 주소를 b에 저장 시킨다고 밖에

생각이 안되는 군요... 전 이점이 궁금하다고 질문을 드린 건데요..

거기다가 자동할당이 가능하다면....

char *b;

b= "abcdedg";

....

b = "abc";

...

라고 하면.... 메모리에 할당된 공간이 자동으로 줄어드나요? 낭비가 일어나나요?

=ㅅ= 넘 궁금해서 .... 



산적 님이 쓰신 글 :
: : char *String;
: :
: : String = "JIN SU";
: :
: :
: 위에서 String은 포인터로 선언되서 즉 주소값을 가지는 변수죠...
: 그래서 "JIN SU"값을 가지는 것이 아니라. 주소값을 갖게 되는 것이죠...
:
: 참고가 되셨기를 바랍니다.
:
: - 산적 -

+ -

관련 글 리스트
1454 [질문] 포인터에 대해서.. 초짜... 진수.네모 1407 2002/10/30
1459     Re:[질문] 포인터에 대해서.. 초짜... 산적 1323 2002/10/31
1462         Re:Re:[질문] 다시 찐짜 상세히 ... 포인터에 대해서.. 초짜... 진수.네모 1291 2002/10/31
1463             Re:Re:Re:[질문] 다시 찐짜 상세히 ... 포인터에 대해서.. 초짜... 산적 1359 2002/10/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.