함수는 독립적으로 수행하는 프로그램 단위를 말한다
C언어는 여러 개의 함수들로 이루어지고
프로그램에서 반복적으로 수행되는 기능을 함수로 만들어서 호출한다 .
C언어에서 자료형과 함수는 짱짱 중요하다고 생각한다.
함수는 문제 해결의 방법이다 --> 주어진 문제를 작은 문제, 즉 여러 함수로 나누어서 생각할 수 있으므로 함수를 만드는 것은
문제 해결의 하나의 방법이다 .
함수 이용의 장점
함수로 구성된 프로그램은 함수 단위로 구성되어 있어, 읽기 쉽고, 이해하기 쉽다.
이미 정의된 함수는 여러번 호출이 가능하므로 소스의 중복을 최소화해서 프로그램 양을 줄이는 효과가있다 .
C프로그램 함수의 종류에는...
1)주(main)함수
프로그램의 시작과 종료를 나타내는 함수로, 프로그램에 main()함수는 꼭 있어야 한ㄴ 함수이며, 사용자 정의 함수라 할 수 있다.
2)사용자 정의 함수: 사용자(프로그래머)가 문제를 분석하여 필요한 기능으로 분류하여 기능열로 코딩하고자 할 때 만드는 함수다
ex)) add(), swap()
3)시스템 라이브러리 함수: 많이 사용하는 기능의 함수들을 시스템에서 미리 만들어 놓고 사용자가 사용할 수 있도록 제공하는 함수다
가장 중요한건 내가..함수를 작성할줄 알아야..내가 만들수있는 능력이 있어야 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 가져다
쓸수있다는거..
매개 변수라는건 함수와 함수사이의 서로 주고받는 데이터가있다면 그런 변수 그런거를 매개변수라고 한다
&(앤퍼센트~)
함수(function, 모듈, 메소드(c++,Java))
매개변수 없는 함수 만들기
print만하고 돌아오거나.. 그런식
void hello(void)
void main()
{
hello();//함수 소출
}
//함수 정의
void hello()
{
printf("Hello c!");
return;
}
add는부를때만생성되서만들고 다쓰면 돌아가서 없어지는 효율성..그래서 call by value
매개변수(parameter, 인자, argument)
함수와 함수 사이에 주고 받는 값(예: 변수값, 상수값)
변수(variable)
프로그램에서 데이터를 저장하는 공간
지역변수: 함수 지역 안에서 선언된 변수는 다른 변수에서 그 내용을 보거나 수정 할 수 없음
매개변수없는함수
매개변수 있는 함수 만들기
지역변수
함수 호출 방법: call by value
return값은 1개만 가지고올수있으음?~main 이라는 명령어..
[함수 호출 방법]
값에 의한 호출
주소에 의한 호출 (call by addres)
해결방법
main 함수에 있는 변수의 주소값을 가지고
swqp()함수를 호출하면 swap()함수에서 main함수의 변수값을 바꿀 수 있음
(포인터 변수 사용)
바꾸기 위해서는 역참조 연산자를 사용해야함 ..
*두가지용법
1)포인터 변수 선언
2)역참조 연산자
포인터 변수: 주소를 값으로 가지는 변수
주소값을 저장하기 위해서는 포인터 변수가 필요함
포인터 변수는 주소값만 값으로 가질 수 있음
int *p = &a
p = &a
역참조 연산자: 포인터 변수 선언 후에 문장중에 포인터 변수 앞에 *가 오면
(*p)포인터 변수가 가리키는 main변수의 값을 변경할 수 있음