일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 마스터링 스프링 클라우드
- FTP
- @GetMapping
- @DeleteMapping
- MSA
- Spring MSA
- Microservice
- IntelliJ
- 클라우드 네이티브 자바
- spring
- 인텔리제이
- @PutMapping
- @PatchMapping
- @PostMapping
- 파일업로드
- @RequestMapping
- 업로드
- 마이크로서비스
- Java
- sftp
- 인텔리j
- Today
- Total
zerofunc
사용자 정의 함수 - 작은값 본문
이번에 배울것은 바로 '함수'중에서도
'사용자 정의 함수'이다.
'사용자 정의 함수'는 말그대로 자기가 자기맘대로 정의하는 함수를 뜻한다.
컴파일러의 특성상 위에서부터
컴파일 하기때문에
위에
자료형 함수이름(매개변수); 로 선언만 해놓고 메인밑에 정의를 하던가
그냥 위에 정의를 하는 방법 두가지가있다.
저의 경우엔 첫번째 방법을 선호하고
첫번째 방법으로 하는 사람이 많은데
그 이유는 보기 편하기 때문이다.
그게 다다.
사용자정의 함수는
자료형 함수이름(자료형 매개변수){
//내용
return 값;
}
자료형은 아무것도 반환하지 않는 void를 비롯해
int , double , bool 모든 자료형이 가능하다.
리턴할때는 자료형으로 리턴을 한다.
void형을 쓸시에는
return; 를 쓰거나
아예 return을 쓰지않는다 둘중하나이다
return;를 쓰는 경우는 중간에 함수를 빠져나와야하는
어떤 목적을 가진 함수에서만 쓰이는경우가 대부분이다.
매개변수는
Call By Value 와 Call By Reference가 있다.
이번에 할것은 Call By Value이다.
Call By Value = 값복사 이다.
말그대로
a라는 변수에 값만 복사해서
매개변수 b에 초기화시켜주는것이다.
참고로 매개변수는 아무것도 받지않아도된다.
자료형 함수이름(){
//내용
return 값;
}
이런게 가능하다는 말이다.
밑에 예제를 보자면
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <stdio.h> int minOf(int,int); void main(){ int n1,n2; int min; printf("두수를 입력:"); scanf("%d %d",&n1,&n2); printf("최 솟 값%d",minOf(n1,n2)); } int minOf(int x, int y){ return (x<y)? x:y; } | cs |
int형으로 minOf라는 함수를 만들어서
int 형 x,y로 n1과n2의 값을 전해받는다.
여기서 제일 중요한건 값만 전해받는다는거다.
main이 1반이라면 minOf는 2반이다.
완전히 다른 공간이라는거다.
그러므로
똑같은 변수명을 사용해도 된다는 것이다,
위 예제를 변형시켜
int minOf(int n1, int n2{
n1 = 1;
n2 = 2;
return (n1<n2)? n1:n2;
}
이렇게한다고해서
main안에있는 n1과 n2의 값이 바뀌지 않는것이다.
1반 재석이와 2반 재석이 그니깐 그냥 동명이인이라고 생각하면쉽다.
1반 재석이가 운동을 잘하고 2반 재석이는 공부를 잘한다.
2반 재석이가 공부를하다 코피를쏟는다고
1반 재석이도 코피를 흘리는게 아니라는 말이다.
그리고
return (x<y)? x:y; 를 통해
x와 y중에 작은 것을 리턴하게된다.
'IT > C언어' 카테고리의 다른 글
사용자 정의 함수 응용 - 문자열 이어붙이기 (포인터) (0) | 2013.11.30 |
---|---|
반복문 응용 - 최대값구하기 ! (삼항연산자) (0) | 2013.11.30 |
반복문 - for문 (0) | 2013.11.30 |
반복문 - While (0) | 2013.11.30 |
C언어 기초 - 연산자 (0) | 2013.11.29 |