PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2006/05/06 14:46:37
Name PKM-375
Subject C언어 잘하시는분 주석좀 달아주세요ㅠ.ㅠ
주석좀 달아주세요. 네이버찾아보고 90%인용하면서 레포트때문에 짰는데요

처음보는것들이 있어서 많이 햇갈립니다. 잘하시는분 주석좀 달아주세요.

특히 저 밑에 화살표표시해놓은 아랫부분이 이해가 잘 안됩니다. 부탁드립니다.ㅠ.ㅡ


#include <stdio.h>

void addmin(int *a, int *b);

void main()

{
        int a,b;  
                        
        printf("1st ByunSu:");
        scanf("%d", &a);
        printf("2nd ByunSu:");
        scanf("%d", &b);

               addmin(&a,&b);
      

        printf("1st+2nd ByunSu:%d \n", a);
        printf("1st-2nd ByunSu:%d \n", b);

}
        void addmin(int *a, int *b)                      <--- 요부분부터
{
        *a += *b; // 두수의 합                            
        *b = *a - *b * 2; // 두수의 차
}

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Return Of The Panic
06/05/06 14:54
수정 아이콘
음 parameter passing 에 관한 문제군요.. 일단 call by address 에 관해 어느 정도 아신다고 가정하고 설명 드리면, main 함수에서 a,b 변수의 값을 입력 받았습니다. 그리고 addmin 함수가 call 됐죠. 그런데 addmin 함수는 변수로 두 개의 int 형 주소를 받습니다. 자, 그럼 main 함수 내의 addmin( , ) <= 이 괄호 안에 두 개의 주소가 들어가야 겠죠? 그래서 addmin( &a, &b) 가 됐습니다. 즉, addmin 함수에 변수 a 의 주소와 변수 b 의 주소를 넘겨줬습니다.
이제 두 개의 주소를 변수로 받은 addmin 함수가 돌아가야겠죠. 아까도 말했지만, addmin 함수는 두 개의 int 형 주소를 받아서 돌아가는 함수입니다. 여기에는 그 두 개의 주소를 a 와 b 라고 부르네요 ( main 함수 내의 a,b 와는 전혀 다른겁니다! 즉, addmin 내의 a,b 를 addr_a, addr_b 라고 해도 되고, c,d 라고 해도 되고, x,y 라고 해도 됩니다. )
addmin 함수는 main 함수 내의 int 형 변수 a 의 주소를 받아서 자신의 int 주소형 변수 a 에 저장하고, main 함수 내의 int 형 변수 b 의 주소를 받아서 자신의 int 주소형 변수 b 에 저장하고 있습니다. 이제 아래 동작이 돌아가겠죠.

*a+=*b => 간단히 말해서, a 라는 주소가 가르키는 위치에 있는 값에 b 라는 주소가 가르키는 위치에 있는 값을 더해주란 얘깁니다. += 연산자니까, a 가 가르키는 자리에 다시 그 값을 저장하는 겁니다. ( 즉, main 함수의 int 형 변수 a ) 아래에 *b=*a-*b*2 이것도 마찬가지로... 그래서 이건 main 함수의 int 형 변수 b 에다가 변화된 값을 저장하겠죠.

그래서 addmin 이 끝나고 a,b 를 main 함수에서 출력해 보면 a+b 와 a-b 가 나옵니다.
06/05/06 14:58
수정 아이콘
진짜x3 감사합니다^^ 수고하세요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
16974 음반추천좀....서영은3집 vs 별2집 vs 김연우3집 vs 버즈3집 [10] ★Different1970 06/05/07 1970
16973 판타지소설 "에볼루션"이라는 소설 아시는분? [1] 삐끼5347 06/05/07 5347
16970 저희 대학 프로젝트 수업중.. Romance...1739 06/05/07 1739
16969 4주 군사 훈련에 관해서 [5] 블랙엔젤1659 06/05/07 1659
16968 PDA활용에 관한 질문입니다. [1] 니어1681 06/05/07 1681
16967 이번 24강 재경기 [1] 이프1792 06/05/07 1792
16966 pgr여러분들 좋은노래 추천좀해주세요~ [8] Short2174 06/05/07 2174
16965 2월부터 지금까지의 명경기 좀 추천해주세요^^ [1] 착한사마리아1592 06/05/07 1592
16964 소개팅 첫 경험자로서...... [7] 토스사랑2879 06/05/07 2879
16962 컴퓨터 CPU 사용량이 100% 까지 올라가요 [3] 마이스타일2311 06/05/06 2311
16961 노래방에서 신곡은 언제뜨나요 [5] 날아갈래요1693 06/05/06 1693
16960 힙합뮤지션끼리.. 디스하는이유?? [10] 음주rapping5179 06/05/06 5179
16959 테란vs저그에서 질문 하나. [3] fhj1640 06/05/06 1640
16958 궁금한 노래가있는데요 [3] 쥔추나1838 06/05/06 1838
16957 저기요 해드폰에 대해서 ㅠㅠ [1] 제시카알바뛴1545 06/05/06 1545
16955 최소한 .. 같은데라도 갈수 있을까요 .. [13] 참이슬1768 06/05/06 1768
16954 최근 1달간 있었던 VOD 중 추천 좀 해주세요;; [3] 워크초짜1536 06/05/06 1536
16952 pgr에 vod 풀버전 올리는건 안되겠죠? [2] 리고렛1686 06/05/06 1686
16950 우리은행 카드를 잃어버리고 분실신고를 했거든요? [2] 닉네임1699 06/05/06 1699
16949 모니터 해상도를 바꾸면 다운이... [3] 대항해시대1652 06/05/06 1652
16945 갑자기 피지투어 방 만드는것과 조인이 안되는데 이유 아시는분 답변좀..ㅠㅠ [1] ROSE1536 06/05/06 1536
16943 C언어 잘하시는분 주석좀 달아주세요ㅠ.ㅠ [2] PKM-3751530 06/05/06 1530
16941 아 정말 고등학교는 [8] 대장균1813 06/05/06 1813
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로