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
[6508] Re:구조체의 포인터에 대한 질문이요.
이렇게 하면 [] 2119 읽음    2001-04-03 03:15
#include <stdio.h>

struct part{
    int number;
    char name[10];
};

struct part gizmo;

//struct part *p_part = &gizmo;   <1>:이경우엔
//무리없이
// 실행이 잘 됩니다.

void main()
{
    struct part *p_part = NULL;  //  <2>:이경우엔 실행이 안됩니다.
    p_part = &gizmo;             //        정말 이해가 안가요.

    (*p_part).number=100;
    printf("%d\n",(*p_part).number);
}

이유는
메인 함수가 실행되면서 스택을 사용할 수 있게 됩니다
스택을 사용하는 이유는 함수나 저장영역을 확보하기 위해서인데....
메인 함수가 자리 잡기 전에 함수를 호출하는 것은 불가능 하죠...

1의 경우에는 초기화인데,
이경우 전역 데이터 영역에서 이루어지는 것이라서 함수가 쓰이지 않습니다.
초기화와 대입이 다른 이유입니다.

2의 경우엔 =라는 연산자가 사실 함수이므로,
메인이 함수 호출 영역을 만든 후에야 쓸 수 있겠죠...

+ -

관련 글 리스트
6499 구조체의 포인터에 대한 질문이요. 전승호 2301 2001/04/02
6508     Re:구조체의 포인터에 대한 질문이요. 이렇게 하면 2119 2001/04/03
6504     믿거나.. 말거나... bluewing 2129 2001/04/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.