조금씩 꾸준히 완성을 향해

[C 언어] 함수 본문

기타 언어/C 언어

[C 언어] 함수

all_sound 2023. 3. 22. 16:51

함수

- 반복적인 수행을 정의해 놓은 작은 프로그램 단위 

 

함수 구조

반환 타입 함수명(인자들...){

  수행할 작업1

  수행할 작업2

}

 

함수의 선언과 사용

int sum(int a, int b){
  int c = a + b;
  return c;
}

int data =  sum(10, 20);
printf("%d", data); // 30

<예제1>

#include <stdio.h>

void swap(int a, int b){
  int temp;
  temp = a;
  a = b;
  b = temp;
}

int main(void){
  int k, j;
  k = 3;
  j = 2;
  swap(k, j);
  printf("k = %d, j = %d", k, j);
  return 0;
}
// k = 3, j = 2

 

<예제2>

#include <stdio.h>
int func(int n);

int main(void){
  int num;
  printf("%d", func(5));
  return 0;
}

int func(int n){
  if(n < 2) return n;
  else{
    int i, temp, current = 1, last = 0;
    for(i=2; i <= n; i++){
      temp = current;
      current += last;
      last = temp;
    }
    return current;
  }
  }
// 5

함수와 변수의 유효범위

#include <stdio.h>

int a=1, b=2, c=3; //전역 변수
int f(void);
int main(void) {
    printf("%3d\n", f());
    printf("%3d%3d%3d", a, b, c);
    return 0;
}

int f(void){
  int b, c;
  a=b=c=4;
  return (a+b+c);
}
// 12
//  4  2  3
 
 

 

 

 

※ 유튜브 흥달쌤 깨알 C언어 특강을 직접 정리한 내용입니다

'기타 언어 > C 언어' 카테고리의 다른 글

[C 언어] 정적(STATIC) 변수  (0) 2023.03.29
[C 언어] 함수 주소 전달 & 주소 리턴  (0) 2023.03.26
[C 언어] 배열 포인터  (0) 2023.03.22
[C 언어] 구조체(struct)  (0) 2023.03.22
[C 언어] 포인터 배열  (1) 2023.03.21