C언어의 기초 문법

매개변수

함수 안에 있는 변수

 전에 '선언과 정의'편에서 add 다음 괄호 안에 int a, int b가 있었죠? 네. 그게 바로 매개변수입니다. 매개변수는 그 함수 안에서만 쓰는 지역변수(자세한 건 댓글란에 알려드릴게요)입니다. 그 변수를 가지고 함수에서 일을 한 다음에 값을 반환합니다. 그런데 여기에서 매개변수를 선언했을 때는 함수를 선언할 때도 그 매개변수에 값을 입력해주어야 합니다. 예시를 들어볼게요

#include <stdio.h>
#include <stdlib.h>

int add(int x, int y){return x + y;}

int main(){
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d", add(a, b));
}

 main함수에서 함수 add를 선언할 때 안에 변수를 넣어줬죠? add의 선언에서 int형 변수 또는 상수 2개를 달라고 해서 그렇습니다. 여기 괄호 안에 이런 변수 뿐만 아니라 일반적인 숫자도 넣을 수 있는데, 주의해야 할 점 1가지는 선언에 있는 매개변수의 형태와 main에서 함수를 선언할 때의 자료 형태가 같아야 한다는 것입니다. 잘 이해가 안 되실 수 있는데, 이 부분은 다시 한 번 복습해 보시는 것이 좋을 것 같습니다^^;

댓글

댓글 본문
  1. Joel
    ※지역변수와 전역변수※
    지역변수란, 함수 안에서만 쓰는 변수를 의미합니다. 함수(그냥 중괄호 안에 있는 코드들도)가 끝나면 그 변수는 없어집니다. 그러니까 중괄호 밖에서 그 중괄호 안에 선언한 변수를 쓰려고 하면 에러가 뜨겠죠. 반대로 전역변수는 어디에서든 쓸 수 있는 변수입니다. 선언 방법은 간단합니다. #include <stdlib.h> 밑에다가 어떤 중괄호도 없는 곳에 변수를 선언해두면 그 변수가 전역변수가 됩니다. 나중에 포인터에서도 다시 나올 거니까 잘 익혀주세요^^;;;;;