변수 선언 위치, 앞의 키워드에 따라 사용법이 달라짐.
어떤 기능을 정의한 것.
이런 작은 기능들을 잘 구분하고 구현하고 (모듈화)
이 기능들을 조합하여 원하는 기능을 만들어 가야한다.
int Add(int a, int b)
{
return a + b;
}
int main()
{
int adding = Add(10, 20); // 30
return 0;
}
반환형 함수명(매개변수)
{
함수 내용...
(반환형이 있을 시) return 함수 결과;
}
함수 내에 또 다시 코드블록을 만들어줄 수 있음. (새로운 지역)
int test()
{
int iName = 0;
// 이런 형태로 가능
// 새로운 지역
{
// 단 이때, 변수명 규칙을 유의해야 함
// 내부의 새로운 코드 블록을 우선순위를 높여 판단함.
int iName = 0; // 이 형태는 문제가 되지 않음.
iName = ~~; // 이때 호출하는 것?
// 같은 지역에 있는 변수
// 같은 방식으로 지역 안에 새로운 지역을 만들 수 있음
{
}
}
iName = ~~; // 이때 호출하는 것?
// test() 함수 내에 있는 변수를 호출
int iName = 0; // 이 형태는 변수를 재정의한 것이라 오류 발생
return 0;
}