구조체, 함수

2025. 2. 26. 09:07원티드_언리얼RPG 2기/C++

 함수의 유용성


1) 코드 자체가 매우 간략해질 수 있다.
2) 함수명, 매개변수명 
= 기능을 나타내기 때문에 코드의 가독성이 올라가고 유지보수가 편해진다.
3) 코드의 국지화, 코드의 지역화를 통해서 
에러/ 확장에 대한 관리가 수월해진다.

void Swap(int * a, int * b)
{
	int * tmp;
	tmp = a;
	a = b;
	b = tmp;
}

//실습 1 나이를 입력받아서 미성년자인지 확인하고 텍스트로 알려주는 함수
void AgeCheck(int age)
{
	age > 19 ? cout << "성인입니다" : cout << "미성년자 입니다";
	if (age < 20) {
		cout << "미성년자 입니다.\n";
	}
	else
		cout << "미성년자가 아닙니다.\n";
}
//실습 2 두 정수를 입력받아서 두 수의 평균(실수)을 반환하는 함수
float AddInt(int a, int b)
{
	return float((a + b) / 2);
}
//실습3 매개변수로 정수를 하나 입력 받아서 그 정수를 숫자 50으로 바꾸는 함수
//		리턴타입은 void.
void ChangeNumTo50(int & a)//참조자 & : a 변수의 별명(다른이름)을 만든다.
{
	a = 50; 
}
//실습 리턴타입이 없는 경우 
void Swap(int & a, int & b)
{
	int tmp;
	tmp = a;
	a = b;
	b = tmp;
}
void Swap(int * a, int * b)
{
	int * tmp;
	tmp = a;
    a = b;
	b = tmp;
}

int/*반환타입*/ main/*함수명*/(/*매개변수*/) {/*실행문(기능로직)*/

	cout << globalVar << endl; //전역변수는 지양할것 유지보수,확장을 방해함
	전역변수: 프로그램 종료까지 라이프사이클이 존재하는 변수
	지역변수: 변수가 선언된 코드묶음에서만 라이프사이클이 존재하는 변수 
	int num = 3;
	int age = 19;
	int attack = 10;

	ChangeNumTo50(attack);
	cout << "attack: " << attack << "num: " << num << endl;

	Swap(attack, num);
	cout << "attack: " << attack << "num: " << num << endl;
	cout << "내 공격력은 " << attack << "이다!\n";

	/*player player1 = {};
	player1.name = "고필규";
	player1.attackvalue = 10;
	player1.movespeed = 5.0f;
	player1.hp = 100;
	player1.isdead = false;

	player1.weapon.attackvalue = 40;
	player1.weapon.name = "목검";
	player1.weapon.price = 3000;

	weapon weapon1;
	weapon weapon2;
	weapon_info weapon3;

	AgeCheck(age);
	AddInt(3, 4);*/
}

'원티드_언리얼RPG 2기 > C++' 카테고리의 다른 글

파일 입출력  (0) 2025.03.04
열거형,클래스  (0) 2025.02.27
포인터, 메모리 영역  (3) 2025.02.21
변수, 상수, 코드표기법  (0) 2025.02.21
실습: 구구단 출력  (0) 2025.02.21