여러 가지 함수를 만들거나 사용해 큰 흐름의 프로그램 만듦
scanf(), printf(), main() 함수
코드 재사용 및 효율성
함수는 정의부와 호출부로 구성됨
내가 함수를 만든다 (feat. 함수이름, 함수 인자, 반환형, 함수 몸체)
반환형 함수이름 (인자1,인자2){
함수몸체
함수몸체
함수몸체
}
int add (int x,int y){
return x+y;
}
함수 이름: 이름 잘짓는 것이 중요(변수랑 같음)
함수 인자: 함수 수행에 필요한 데이터들
- 데이터 타입 가짜이름
반환형: 함수 이름 앞에 돌려주는 데이터 타입을 넣어줌, return으로 돌려준다.
- 없으면 void
함수 몸체: 알고리즘 짜는곳, return문을 만나면 함수종료!
max함수, addThree함수, atoA함수 만들기!
실제로 어떻게 쓰는지 코드로 확인
int add(int x,int y){ return x+y;}
int main(){
int c;
c = add(1,5);
printf("%d",c);
return 0;
}
지역(local): 함수 범위 내에서만 변수가 살아있음, 전역(global): 함수 범위 외에도 살아 있음
int c;
int add(int x,int y){
int z=1;
return x+y;
}
int main(){
z = 10; //오류 z는 add 함수 내에서만 살아 있음
c = 100; // c는 살아있음
c = add(100,100); // c는 200
}
stdio.h에 printf(),scanf_s()가 있음 저거 안쓰면 printf(),scanf_s() 못씀
헤더파일 | 기능 | 함수들 |
---|---|---|
stdio.h | 입력,출력 | printf,scanf,get |
stdlib.h | 숫자변환, 동적할당 | srand,malloc |
ctype.h | 문자검사 및 변화 | isalnum,isalpha,islower,toupper |
math.h | 수학 함수 | sin,exp,pow,abs |
time.h | 시간 처리 | clock,time |
string.h | 문자열 | strcpy, strcat, strcmp, strlen, memcpy |