개발자 데뷔!

[C/C++ 7.1] 함수 본문

프로그래밍 언어/C

[C/C++ 7.1] 함수

물꼮이 2022. 3. 16. 00:40
* c/c++ 에선, 함수에 대한 return 값이 항상 1개이다. 

 

* void 함수에서는 return 명령어가 없어도 되지만, 

   함수를 강제로 종료할 때, 일부러 넣는 경우가 있음.

 

* char 함수에서 return 0 가능 ??

 

* 주의!! 

 * 이렇듯 cout 뒤에 함수를 바로 호출해 사용하면, return 값이 출력되는것 뿐만 아니라 

   함수도 한번 호출된 것으로 count 된다! 

cout << 함수명()

 

함수 선언 방법

  1. 함수 선언식 (Function Declaration)
  2. 함수 표현식 (Function Expression)

 !! 마저 정리!! 

 

 

 

1. Call - By - Reference 방식

 -  ( * 참조에 의한 ) 함수 호출 방식 

 - 주소값을 전달 인자로 받음 

//1번											
int getName(char &a, char &b) {					//call-by-reference 										
	cin >> a >> b;			// 이 주소값에 저장됨 !! 
	return 0;
}
int main() {
	char a, b;
	getName(a,b);		//주소값으로 입력받음!!
	if (a < b)			//이후로는 다시 또다른 변수에 함수값 받을 것 없이 쓰면됨
		cout << a;
	else
		cout << b;
	return 0;
}

 

// 2 번 				
int moon(int& a, int &b, int &c) {
	a = a - 4;
	b = b + 3;
	c = c * 2;
	return 0;
}
int main() {		
	int a,b,c;
	cin >> a;			//한개만 입력받았지만
	b = a;				// call-by -reference 사용하기 위해 변수 3개에 같은값 나눠가짐 
	c = a;
	moon(a,b,c);
	cout << a << " " << b << " " << c;	// 전부 다른값 출력
	return 0;
}

2. Call - By - Value 방식

 -  상수값을 전달인자로 받음