반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스타2
- Qt4
- Java
- 안드로이드
- FFI
- 양평역
- 알람프로그램
- 디자이어HD
- Qt 소켓프로그래밍
- 재귀함수
- QT
- 정성하
- qt 설치
- 스타크래프트2
- 자료구조
- Qt OpenGL
- HTML
- 오토바이
- 윈도우7
- 자바
- 잡담
- vuejs
- 마영전
- c언어
- 바이크
- QTcpServer
- 고속도로
- android SAF
- 엑티브엑스
- 이륜차
Archives
- Today
- Total
프로그래밍과 잡담
[C언어] 기초 7 본문
함수(function)
함수란 사전에서 보면 기능이란 뜻이다.
printf 함수 이건 콘솔창에 메시지를 띄우라는 함수다. 이러한 기능을 가진걸 함수라 한다.
함수를 사용하는 이유는
그냥 main 함수 안에다가 다 넣어버려도 작동은 아주 잘 된다.
근데 그렇게 하다보면 메인이 엄청 길어져서 보기도 나쁘고 나중에 유지보수하는데 어려워지게
때문에 함수라는걸 만들어서 여러게로 쪼개서 사용한다.
함수의 사용법도 다른거와 마찬가지로 쉽다.
함수의 형태
리턴타입 함수이름 ( 인자 ) { 내용부 }
리턴 타입은 int 와 같은게 있을 수 도 있고 배열이 있을 수도 있고 구조체가 있을 수도 있다..
즉, 프로그래머 마음대로 원하는 타입을 설정하면된다.
단! 한개의 타입만 리턴된다.
이런거 없다. int,char fnc();
예제 1)
void print(int t)
{
printf("%d",t);
}
위에 보면 void라는 타입이 있는데 void는 아무것도 리턴을 안한다는 뜻이다.
그래서 리턴도 없다..
예제 2)
int sum(int a, int b )
{
위에 보면 리턴 타입이 int 다. 리턴을 할때는 정수형의 타입을 리턴 시켜줘야한다.
int 가 아닌 다른 타입을 넣으면 에러가 나거나 warning이 뜬다.
예제 3)
int* fnc(int *a )
{
위에 예제는 배열을 받아서 배열을 리턴 하는 함수다. 배열이 아니라고 하는 사람들이 가끔있는데
배열이다. 포인터를 배우면 나오는거다. int * 이거를 int[] 로 바꾸면 되는거다.
struct A struct_function(struct A* a )
{
a -> c = 'c'
return *a;
}
위에 보면 a -> 요 화살표 같은 게 있는데 구조체를 포인터형식
으로 인자를 받을 경우에는 화살표를 사용한다.
위에 함수는 그냥 억지로 만들어낸거다. 구조체를 리턴 할 수 있다는 걸 보여주기 위해서다.
끝.
-----------------------
궁금한거나 이상한 부분은 댓글을 주세요.
함수란 사전에서 보면 기능이란 뜻이다.
printf 함수 이건 콘솔창에 메시지를 띄우라는 함수다. 이러한 기능을 가진걸 함수라 한다.
함수를 사용하는 이유는
그냥 main 함수 안에다가 다 넣어버려도 작동은 아주 잘 된다.
근데 그렇게 하다보면 메인이 엄청 길어져서 보기도 나쁘고 나중에 유지보수하는데 어려워지게
때문에 함수라는걸 만들어서 여러게로 쪼개서 사용한다.
함수의 사용법도 다른거와 마찬가지로 쉽다.
함수의 형태
리턴타입 함수이름 ( 인자 ) { 내용부 }
리턴 타입은 int 와 같은게 있을 수 도 있고 배열이 있을 수도 있고 구조체가 있을 수도 있다..
즉, 프로그래머 마음대로 원하는 타입을 설정하면된다.
단! 한개의 타입만 리턴된다.
이런거 없다. int,char fnc();
예제 1)
void print(int t)
{
printf("%d",t);
}
위에 보면 void라는 타입이 있는데 void는 아무것도 리턴을 안한다는 뜻이다.
그래서 리턴도 없다..
예제 2)
int sum(int a, int b )
{
return a + b;
}위에 보면 리턴 타입이 int 다. 리턴을 할때는 정수형의 타입을 리턴 시켜줘야한다.
int 가 아닌 다른 타입을 넣으면 에러가 나거나 warning이 뜬다.
예제 3)
int* fnc(int *a )
{
*( a + 1) =10;
return a;
}return a;
위에 예제는 배열을 받아서 배열을 리턴 하는 함수다. 배열이 아니라고 하는 사람들이 가끔있는데
배열이다. 포인터를 배우면 나오는거다. int * 이거를 int[] 로 바꾸면 되는거다.
struct A struct_function(struct A* a )
{
a -> c = 'c'
return *a;
}
위에 보면 a -> 요 화살표 같은 게 있는데 구조체를 포인터형식
으로 인자를 받을 경우에는 화살표를 사용한다.
위에 함수는 그냥 억지로 만들어낸거다. 구조체를 리턴 할 수 있다는 걸 보여주기 위해서다.
끝.
-----------------------
궁금한거나 이상한 부분은 댓글을 주세요.
반응형
'프로그래밍 > C,C++, Win32Api' 카테고리의 다른 글
[C언어] 기초 8 (0) | 2009.03.14 |
---|---|
[C언어] 기초 7-1 (0) | 2009.03.14 |
[C언어] 기초 6 (0) | 2009.03.11 |
[C언어] 기초 5-2 (0) | 2009.03.11 |
[C언어] 기초 5-1 (0) | 2009.03.11 |
Comments