소개
이 랩에서는 C++ 에서 함수를 사용하여 두 숫자를 바꾸는 방법에 대해 논의할 것입니다. 함수를 사용하여 이 문제를 해결하는 데는 두 가지 방법이 있습니다.
이 랩에서는 C++ 에서 함수를 사용하여 두 숫자를 바꾸는 방법에 대해 논의할 것입니다. 함수를 사용하여 이 문제를 해결하는 데는 두 가지 방법이 있습니다.
시작하려면 선호하는 코드 편집기에서 새로운 C++ 파일을 생성하십시오. 랩 시작 부분에서 코드 파일의 경로와 이름을 제공해야 합니다. 예를 들어: ~/project/main.cpp.
touch ~/project/main.cpp
값에 의한 호출 (Call by Value) 에서는 함수를 호출할 때 실제 매개변수가 전달되며, 형식 매개변수에 대한 연산의 영향은 실제 매개변수에 반영되지 않습니다. 구현 방법은 다음과 같습니다.
#include<iostream>
using namespace std;
void swap(int x,int y);
/*C++ 에서 함수 값에 의한 호출을 사용하여 두 숫자 바꾸기*/
int main()
{
int a,b;
cout<<"C++ 에서 바꿀 두 숫자를 입력하세요: ";
cin>>a>>b;
cout<<"\n두 숫자를 바꾼 후:";
swap(a,b);
return 0;
}
void swap(int x,int y)
{
int z;
/*첫 번째 또는 두 번째 변수의 값을 저장하기 위한 추가 변수*/
z = x;
/*첫 번째 변수 값을 임시 변수에 복사*/
x = y;
/*두 번째 변수 값을 첫 번째 변수에 복사*/
y = z;
/*임시 변수 값을 두 번째 변수에 복사*/
cout<<" "<<x<<" "<<y;
}
코드를 실행하려면 파일을 저장하고 터미널을 열어 다음 명령을 입력하십시오.
g++ main.cpp -o main && ./main
참조에 의한 호출 (Call by Reference) 에서는 실제 매개변수의 주소를 형식 매개변수로 전달하므로 형식 매개변수의 변경 사항이 실제 매개변수에 반영됩니다. 구현 방법은 다음과 같습니다.
#include<iostream>
using namespace std;
void swap(int *x,int *y);
/*C++ 에서 함수 참조에 의한 호출을 사용하여 두 숫자 바꾸기*/
int main()
{
int a,b;
cout<<"바꿀 두 숫자를 입력하세요: ";
cin>>a>>b;
swap(&a,&b);
cout<<"\n두 숫자를 바꾼 후: ";
cout<<a<<" "<<b<<" \n";
return 0;
}
void swap(int *x,int *y)
{
int z;
z = *x;
/*첫 번째 변수 주소를 임시 변수에 복사*/
*x = *y;
/*두 번째 변수 주소를 첫 번째 변수에 복사*/
*y = z;
/*임시 변수 주소를 두 번째 변수에 복사*/
}
코드를 실행하려면 파일을 저장하고 터미널을 열어 다음 명령을 입력하십시오.
g++ main.cpp -o main && ./main
다음은 main.cpp 파일의 전체 코드입니다.
#include<iostream>
using namespace std;
void swap(int x,int y);
/*C++ 에서 함수 값에 의한 호출을 사용하여 두 숫자 바꾸기*/
void swap(int *x,int *y);
/*C++ 에서 함수 참조에 의한 호출을 사용하여 두 숫자 바꾸기*/
int main()
{
int a,b;
cout<<"첫 번째 숫자를 입력하세요: ";
cin>>a;
cout<<"두 번째 숫자를 입력하세요: ";
cin>>b;
// Method 1: Call By Value
cout<<"\n값에 의한 호출을 사용하여 두 숫자 바꾸기\n";
swap(a,b);
// Method 2: Call By Reference
cout<<"\n참조에 의한 호출을 사용하여 두 숫자 바꾸기\n";
swap(&a,&b);
return 0;
}
void swap(int x,int y)
{
int z;
/*첫 번째 또는 두 번째 변수의 값을 저장하기 위한 추가 변수*/
z = x;
/*첫 번째 변수 값을 임시 변수에 복사*/
x = y;
/*두 번째 변수 값을 첫 번째 변수에 복사*/
y = z;
/*임시 변수 값을 두 번째 변수에 복사*/
cout<<" "<<x<<" "<<y;
}
void swap(int *x,int *y)
{
int z;
z = *x;
/*첫 번째 변수 주소를 임시 변수에 복사*/
*x = *y;
/*두 번째 변수 주소를 첫 번째 변수에 복사*/
*y = z;
/*임시 변수 주소를 두 번째 변수에 복사*/
}
파일을 저장하고 터미널을 열어 다음 명령을 입력하여 코드를 실행합니다.
g++ main.cpp -o main && ./main
이 랩에서는 C++ 프로그래밍 언어에서 값에 의한 호출 (Call by Value) 및 참조에 의한 호출 (Call by Reference) 방식을 사용하여 두 숫자를 바꾸는 함수 사용법을 배웠습니다.