목차
함수의 결과값은 return
문을 통하여 호출자에게 반환된다.
예)
양의 정수를 입력받아 그 숫자만큼 별표를 출력한다.
입력값이 50이상이면 50개의 별표만 출력한다.
입력값이 0이면 프로그램은 종료된다.
입력값이 음수일 경우 다시 입력할 수 있게 작성되었다.
int getnum()
int cheknum(int n)
void printstsr(int n)
결과
return; // 반환값없이 함수실행을 종료하는 경우
return (21);
return (x + 4);
return x++;
man printf : printf 의 manual ('q'로 exit)
man 3 printf : programmer's Manual
printf, scanf 는 가변인자이다. (인수리스트의 개수가 미지정)
printf(3)의 (3)은 섹션을 뜻한다.
예)
주소전달 호출을 이용하여 두변수에 들어 있는 값을 바꾸는
프로그램의 예로 변수 x와 y의 값을 바꾼다.
swap()
함수를 호출하기전 변수 x와 y의 상태
swap()
함수가 실행을 시작할때 변수의 상태
temp = *px;
*px가 의미하는 것은 px가 가리키는 메모리의 내용이다.
px는 x를 가리키므로 변수 x의 값이다.
*px = *py;
*px는 변수 x를 의미하고, *py는 변수 y를 의미한다.
변수 x는 변수 y의 값을 가지게 된다.
*py = temp;
*py는 변수 y이다. 변수 y는 temp의 값을 받는다.
swap()
함수가 종료되면, px, py와 지역변수 temp는 소멸된다.
결과
recursive
함수는 반복되면서 int
형일경우 4byte 씩 계속 생성한다. 메모리를 많이 차지하므로 잘사용되지않는 함수이다.예)
양의정수 n을 입력받아, 재귀호출을 이용하여 n부터 1까지 출력하는 프로그램
결과
C언어 강좌 (const/함수포인터/배열/배열의 선언과 사용/배열의 초기화/배열과 포인터) (0) | 2016.09.08 |
---|---|
C언어 강좌 (수학함수/난수생성함수 rand/함수 포인터) (0) | 2016.09.08 |
C언어 강좌 (함수의 호출과 실행 / average/분할컴파일/지역변수) (0) | 2016.09.08 |
C언어 강좌 (C언어 연습문제) (0) | 2016.09.07 |
C언어 (텍스트 파일/함수) (0) | 2016.09.07 |