본문 바로가기
코딩/C++

주소에 의한 전달

by sonysame 2024. 3. 12.

 

주소에 의한 전달은 기본적으로 값에 의한 전달과 동일

대신 값이 아닌 주소일 뿐!

#include <iostream>

using namespace std;

void foo1(int* ptr) {
	cout << *ptr << " " << ptr << " " << &ptr << endl;
}
void foo2(double degrees, double* sin_out, double* cos_out) {
	*sin_out = 1.0;
	double x = 7;
	sin_out = &x;
	*cos_out = 2.0;
}
int main() {
	int value = 5;
	cout << value << " " << &value << endl;
	int* ptr = &value;
	foo1(ptr);
	foo1(&value);

	cout << &ptr << endl; //foo에서 출력되는 &ptr과 다름!
	
	double degrees = 30;
	double sin, cos;
	foo2(degrees, &sin, &cos);
	cout << sin << " " << cos << endl;
	return 0;
}

'코딩 > C++' 카테고리의 다른 글

inline 함수  (0) 2024.03.13
함수 반환값  (0) 2024.03.13
참조(reference)에 의한 전달  (0) 2024.03.12
값에 의한 전달  (0) 2024.03.12
std::array  (0) 2024.03.11