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

C/C++ Q/A
[4550] Re:Re:이중for문 기초 예제인데 오류의 원인을 알 수 없군요. 해결해주세요.
최성원 [csw789] 1838 읽음    2004-07-15 12:25
조준회 님이 쓰신 글 :
: n에 대해서 포인터로 선언하고..
: 메모리를 할당하지 않았네요..
:
: 포인터가 아닌 변수로 선언을 하던가.. 아니면 malloc등으로 메모리를 할당해 주셔야 합니다.
:
: 경선 님이 쓰신 글 :
: : void main()
: : {
: :     int i, j, *n;
: :     printf("Input the Number : ");
: :     scanf("%d", n);
: :     for (i=0;i<*n;i++)
: :     {
: :         for (j=0;j<*n;j++)
: :         {
: :             printf("%4d", i+j+1);        // i+j+1의 오류의 원인은?
: :         }
: :         printf("\n");
: :     }
: : }

* 라는 연산자에 대해서 이해가 아직 잘 안되시는것 같군요..
int *n 이라는 것은 int type의 & 값을 받기 위한 메모리를 선언한것입니다.
위의 프로그램을 실행시키면 아마 warning 이 하나 뜨고 돌아가기는 잘 돌아갈것입니다.
하지만 님이 입력하신 숫자는 메모리의 레퍼런스로 값을 넣은 것입니다.
나중에 for 문에 다달았을때 잘못된 메모리 참조 오류가 나겠죠...^^
위에 scanf 문에서 입력하시 숫자에 해당하는 메모리 레퍼런스 를 참조하려고 하니깐요..




+ -

관련 글 리스트
4493 이중for문 기초 예제인데 오류의 원인을 알 수 없군요. 해결해주세요. 경선 1612 2004/06/19
4494     Re:이중for문 기초 예제인데 오류의 원인을 알 수 없군요. 해결해주세요. 조준회 1580 2004/06/19
4550         Re:Re:이중for문 기초 예제인데 오류의 원인을 알 수 없군요. 해결해주세요. 최성원 1838 2004/07/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.