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

C/C++ Q/A
[2877] 간단한 포인터 질문
포인터 [] 1063 읽음    2003-08-06 15:47
책을 보다가 이런 내용이 나왓는대 햇갈립니다.

int *ptr;

...;

*ptr=10;

이건 에러 라고 합니다.
왜냐하면 *는 ptr번지의 값을 구하는 연산자이구 따라서 *ptr은 수식 이고 . 그러므로 수식에 값을 대입하는 것은 불가능 하다고 나옵니다..

그런대 종종 다른 소스프로그램을 보면 *연산자에 직접 값을 대입하는경우가 많니 나옵니다.
예를들어 *ptr=133 이라든지 등등..


근대 visual c++ 툴로 다음 소스를 컴파일 하면 에러가 나오내요?
#include<stdio.h>

void main()
{

    int *ptr;
        ptr=10;
    printf("%d",ptr);
}

이렇게 해도 에러가 나오내요
#include<stdio.h>

void main()
{

    int *ptr;
        ptr=10;
    printf("%d",*ptr);

이렇게 해도 에러가 나오고요
#include<stdio.h>

void main()
{

    int *ptr;
        *ptr=10;
    printf("%d",*ptr);
}

}

그런데
#include<stdio.h>

void main()
{

    int *ptr;
    int t=10;
        ptr=&t;
    printf("%d",*ptr);
}

이렇게 하면 되더라구요..

결국 포인터 변수에 직접 주소나 값을 넣는것은 불가능 건가요?

#include<stdio.h>

void main()
{

    int *ptr=2345;
   

    printf("%d",*ptr);
}
이것도 에러나던대.. 초기화시에는 직접 값을 넣어줘도 되는걸로 알고있는데 아니였나요?



+ -

관련 글 리스트
2877 간단한 포인터 질문 포인터 1063 2003/08/06
2878     Re:간단한 포인터 질문 포인터 1166 2003/08/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.