[C++] 13. 포인터변수
2022. 5. 30. 21:45ㆍ코딩 1막 <C++개념편>
728x90
#include <iostream>
using namespace std;
void main()
{
int num = 10;
// 포인터변수 : 주소를 담는 변수
cout << num << endl;
cout << &num << endl;
cout << *&num << endl; // 역참조(주소 안의 값)
//포인터변수의 선언 : 데이터 타입* 변수명;
int* numPtr;
numPtr = #
cout << numPtr << endl;
cout << &numPtr << endl;
cout << *numPtr << endl;
}
//call by value : 값에 의한 참조
void Swap(int inputA, int inputB)
{
int temp; // 빈통만들기
temp = inputA; // A를 빈통에 넣기
inputA = inputB; // B를 A에 넣기
inputB = temp; // 빈통에 든 A를 B에 넣기
}
//call by address : 주소에 의한 참조
void PtrSwap(int* aPtr, int* bPtr)
{
int temp;
temp = *aPtr;
*aPtr = *bPtr;
*bPtr = temp;
}
void main()
{
int numberA = 10;
int numberB = 30;
cout << numberA << "," << numberB << endl;
// Swap(numberA, numberB);
PtrSwap(&numberA, &numberB);
cout << numberA << "," << numberB << endl;
}
/*
int num = 10;
// 포인터변수 선언
// 포인터변수는 주소를 담는 변수
//[문법] 데이터타입* 변수명;
int* numPtr;
// 변수명 앞에 &가 붙으면 그 변수의 주소를 말함
numPtr = #
cout << "일반 변수 num의 값 : " << num << endl;
cout << "일반 변수 num의 주소 : " << &num << endl;
cout << "포인터 변수 numPtr의 값 : " << numPtr << endl;
cout << "포인터 변수 numPtr의 주소 : " << &numPtr << endl;
cout << "-----------------------------------" << endl;
// 주소안에 값을 가져오는 연산자 *
// 주소 앞에 *을 붙이면 그 주소 속에 있는 값을 가져온다.
cout << "일반 변수 num의 값 : " << num << endl;
cout << "일반 변수 num의 주소 : " << &num << endl;
cout << "일반 변수 num의 주소안에 있는 값 : " << *&num << endl;
cout << *numPtr << endl;
*/
728x90
'코딩 1막 <C++개념편>' 카테고리의 다른 글
[C++] 15. sizeof() (0) | 2022.05.31 |
---|---|
[C++] 14. 배열 (0) | 2022.05.30 |
[C++] 12. 피보나치 수열 문제 (0) | 2022.05.30 |
[C++] 11. 재귀함수 (0) | 2022.05.30 |
[C++] 10. 전역변수, 지역변수, 매개변수 / stack의 메모리구조 (0) | 2022.05.30 |