1.7 함수
실습 전 이론
설명은 일단 미룸 함수 개념자체는 파이썬과 다를게 없다. 함수 사용 전에 함수에 어떤 값을 넣을지 미리 선언을 한다 정도?
기본적으로 함수란 미리 만들어 놓는 기계에 가깝다.
처음 파이썬을 시작했을땐 왜 함수가 필요한지 잘 몰랐다. (단순히 10 몇 줄짜리만 만드니 ㅋㅋ)
굳이 함수를 만들어 코드를 넣고 함수를 실행하는 코드를 한번 더 넣는게 이해가 안됐었는데
이제는 안쓰면 너무 복잡하고 찜찜하다.
기본적으로 함수는 특정 동작을 수행하는 레고 블록에 가깝다.
로봇으로 비유하자면 팔을 움직이거나, 옆을보고, 오른발을 앞으로 뻗는 등
프로그램을 만들다보면 (근본이 워낙 없어서 이게 맞는지는 모르겠다.)
각각 부위의 부품들을 미리 만든 후, 최종적으로 조립하는 느낌으로 프로그램을 만들곤 한다.
1. 엑셀 실행
2. 파일을 불러와 실행
3. 정해진 규칙으로 파일 내용 수정 및 저장
뭐 이런 식으로 3개의 함수를 만들고 최종적으로 세개를 순서대로 실행시키며 프로그램을 완성한다.
개발자가 아니다보니 업무에 필요한 프로그램을 그때그때 쓸 수 있으면 돼서, 요정도가 딱 밸런스가 있는것같다.
실습
#include <stdio.h>
int power(int , int );
int main()
{
int i;
for (i = 0; i < 10; ++i)
printf("%d %d %d\n", i, power(2,i), power(-3,i));
return 0;
}
int power(int base, int n)
{
int i, p;
p = base;
for (i = 1; i <= n; ++i)
p = p * base;
return p;
}
main 함수는 프로그램의 가장 중심이 되는 함수, 파이썬 할때는 저 main함수를 꽤 오랫동안 안썼더랬다.
밑에 power 함수가 존재하는데 power안에 파라미터로 base와, n 변수가 들어가며, "base" 와 "n"이라는 변수명은 함수 안에서만 사용된다.
함수를 실행시킬때 필요한 정도만 사용하는거로 보면 된다.
처음엔 왜 그럴까 했는데, 하다보니 함수마다 변수명을 중복해서 쓰지 못하면 변수명 만들고 기억하는데만 엄청 시간이 들었을것같다.
power(2,i) 는 그대로 power함수 안의 각각 base, n 이 되어 함수가 실행 후 돌려보낼 결과물을 return 뒤에 담아 보낸다.
return 이 없는 함수의 경우 void 라는 지칭을 해준다고 들었는데 아직 안나왔으니까 넘어가는걸로
실습 후 이론
다행히 함수에는 너무 복잡한 코드가 없네