포인터로 함수 호출, 숫자를 출력
#include <iostream>
using namespace std;
void PrintNumber(int* pNumber)
{
cout << *pNumber; // pNumber 주소의 값 출력
}
int main()
{
int numbers[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i : numbers) // 배열 numbers의 요소 for문으로 탐색
{
PrintNumber(&i);
}
return 0;
}
포인터와 레퍼런스로 두 수를 교환하는 함수를 제작
#include <iostream>
using namespace std;
void SwapByPointer(int* pA, int* pB)
{
if (pA == nullptr || pB == nullptr) return; // 예외처리
int temp;
temp = *pA;
*pA = *pB;
*pB = temp;
}
void SwapByReference(int& refA, int& refB)
{
int temp;
temp = refA;
refA = refB;
refB = temp;
}
int main()
{
int A = 1;
int B = 2;
cout << "초기 상태 : " << A << " " << B << endl;
SwapByPointer(&A, &B);
cout << "Swap by pointer : " << A << " " << B << endl;
SwapByReference(A, B);
cout << "Swap by reference : " << A << " " << B << endl;
return 0;
}