|  |
| |
U_SoRang |
1. 쓰신대로 add()하시고 그 안에 a, b를 선언하게 되면 add(3, 2); 라는 문법을 못 쓰게 됩니다.
(call by value 검색.)
2. 함수정의 = 사용하는 함수 정의
(처음 정의할 때와 사용하는 함수는 문법이 똑같아야 함.) |
2011/05/18 |
|
| 7evenLeaf |
음.. 쉽게 말해서
add(int a, int b) 는 함수 사용시
add(1, 2) 이런식으로 사용했을때 1이 a 로, 2가 b로 전달되는 것입니다.
근데
add() 이렇게만 선언하면, 사용할때도 add() 이렇게만 사용해야 하죠,
add함수 안의 int a, b는 add함수 내에서 사용하는 지역변수를 선언한 것 뿐입니다.
윗분 말씀때로 call by value를 검색하시면
더 많은 정보를 얻을 수 있으실꺼에요ㅎㅎ
그럼 열공하시길, |
2011/05/18 |
|
| KRR |
윗분도 설명을 잘 해주셨는데요...
(아.. 사실 질문 해석이 더 어렵네요..)
전 무조건 void에 대해서 설명하겠습니다.
int main(void)를 습관적으로 쓰신다고 하는데..
main도 함수의 하나입니다.
(사실 제가 지금 부터 하는 말은 그닥 공부하는데 있어.. 별 의미는 없지만.. 이정도는 알고 쓰시면 우왕굳)
int add(int a,int b)처럼
int main(int argc, char *argv[])로
사용한답니다. 머.... 나중에 공부를 하다보면 자연스럽게 아실껍니다.
저걸 사용하는건..
cmd에 처넣기 위해..(이 문구도.. 장난스럽지만.. 아시면 제가무슨 소리 한지 알걸..)
머...
그런겁니다.
(죄송.. 덧글로 설명하긴 꽤 길어서. ..)
그리고
(원래 질문..)
윗분 말씀처럼..
함수 정의와 선언은 같아야 합니다.
그런 것이지요.. 머.. 선언조차 귀찮으시면.. main함수앞에.. 걍 걍 정의를 마구 갈겨 놓으셔도 됩니다.
다만 그걸 보시는 분의 뇌가 졸깃졸깃해지겠지만 말이죠.. |
2011/05/18 |
|
| KRR |
아.. 두분으로 늘어났군요.. ㄷㄷ |
2011/05/18 |
|
| /x7375696e6567 |
int add(){
int a;
int b;
printf("더하고자 하는 두 수를 입력 해주세요\n");
printf("입력(스페이스바로 구분해주세요~) :);
scanf("%d %d",&a,&b);
printf("더한 값은 %d 입니다.",a+b);
return 0;
}
이렇게 라면 가능하지요
|
2011/05/19 |
|
| d4rkang3l |
답변들 감사하구요 !이해가됐네요 ㅎ
그리고 제가 질문한 하나는
반환값 함수이름(매개변수)<-여기서 함수정의를 안하고 그냥 메인함수를 작성할때는 void말고는 사용할 필요가 없지않을까해서요 |
2011/05/19 |
|