DAY5_retrospective

Heejin Jo·2021년 8월 29일
0

Unity_C#

목록 보기
6/16

cs로 swapValue 함수를 만들어보자


public swapValue(int a, int b){
	//a와 b의 값을 바꿔주는 함수를 만들어보자
    }
	

swift라면 아래와 같이 표현될거임

func swapValue(int: a, int: b)->Int{
}

보이드 스타트에 만들 함수를 불러보자
c#에서 ; 까먹지 말고!

void start() {
int a = 2;
int b = 5;

swapValue(a,b);

//유니티에서 보이게 해주기 위해 
Debug.log($"a:{a}, b:{b}")	//$가 swift의 \() 같은 역할, 스트링내에서 변수읽기

보이드 스타트에서 변수를 초기화 해놓은 상태, 즉 외부매개변수
그러면 이제 어떻게 a에 b값이 들어가고 b에 a값이 들어가게 할까?

public swapValue(int a, int b) {
	a = b
   }

이렇게 표현한다면 a에 b값이 들어가 있는 상태 그런데 여기서 만약

public swapValue(int a, int b) {
	a = b
 	b = a
 }

이렇게 표현한다면? 우로보로스만들기임ㅋ 그럼 대체 어떻게 b에 a값을 넣을 수 있지?
이 때 바로 임시 변수를 설정해두면 해결됨

public swapValue(int a, int b) {
	int temp = a
    	a = b
	b = temp
}

이렇게 해놓으면 위에서 아래로 순서를 읽는 코드특성상 temp에 순수한 a값이 저장되어있고
a에 b값이 넣어져서 a는 5인 상태여도 temp는 여전히 a값인 2를 가지고 있어서 서로 교차가 가능해짐

profile
core를 기르자

0개의 댓글