C++ 포인터를 사용하여 숫자 바꾸기

C++Beginner
지금 연습하기

소개

이 랩에서는 C++ 에서 포인터를 사용하여 두 숫자를 바꾸는 방법을 배웁니다. 이 프로그램은 두 숫자의 주소를 함수에 전달하여 숫자를 바꾸고, 포인터를 사용하여 메모리 내 해당 위치를 가리킵니다.

헤더 파일 포함 및 함수 선언

먼저, 필요한 헤더 파일을 포함하고 두 개의 정수 포인터를 인수로 받는 swap 함수를 선언합니다.

#include <iostream>
using namespace std;

//Swap function to swap 2 numbers
void swap(int *num1, int *num2);

swap 함수 정의

여기서는 다음과 같이 swap 함수를 구현합니다.

void swap(int *num1, int *num2) {
       int temp;
       //Copy the value of num1 to some temp variable
       temp = *num1;

       //Copy the value of num2 to num1
       *num1 = *num2;

       //Copy the value of num1 stored in temp to num2
       *num2 = temp;
}

이 함수는 두 개의 정수 포인터를 인수로 받아 임시 변수를 사용하여 포인터가 가리키는 값을 바꿉니다.

두 숫자 입력 후 swap 함수 호출

num1num2 변수를 선언하고 cin을 사용하여 값을 입력합니다. swap 함수를 호출하고 해당 주소를 인수로 전달합니다.

int main() {
       int num1, num2;

       //Inputting 2 numbers from user
       cout<<"Enter the first number : ";
       cin>>num1;
       cout<<"Enter the Second number : ";
       cin>>num2;

       //Passing the addresses of num1 and num2
       swap(&num1, &num2);

swap 된 숫자 출력

cout을 사용하여 바뀐 숫자를 출력합니다.

//Printing the swapped values of num1 and num2
cout<<"First number : "<< num1 << endl;
cout<<"Second number: "<<num2 << endl;

프로그램 컴파일 및 실행

프로그램을 ~/project 디렉토리에 main.cpp로 저장합니다. 다음 명령을 사용하여 코드를 컴파일합니다.

g++ main.cpp -o main && ./main

요약

이 랩에서는 C++ 에서 포인터를 사용하여 두 숫자를 바꾸는 방법을 배웠습니다. 두 정수 포인터가 가리키는 값을 바꾸는 swap 함수를 선언하고 정의했으며, 사용자 입력을 받고 출력을 표시하기 위해 각각 cincout을 사용했습니다.