포인터 선언에서 데이터 타입이 중요한 이유는 무엇인가요?
포인터 선언에서 데이터 타입이 중요한 이유는 무엇인가요?
int number = 100;
string text = "Hello";
// 어떤 선언이 올바른가요?
int* ptr1 = &number; // A
string* ptr2 = &text; // B
int* ptr3 = &text; // C
string* ptr4 = &number; // D
정답: B
포인터의 타입은 가리키는 변수의 타입과 반드시 일치해야 합니다.
타입 일치의 중요성:
올바른 선언 (A, B):
⦁
int* ptr1 = &number;
✅⦁
int
타입 변수의 주소를 int*
포인터에 저장⦁
string* ptr2 = &text;
✅⦁
string
타입 변수의 주소를 string*
포인터에 저장잘못된 선언 (C, D):
⦁
int* ptr3 = &text;
❌⦁
string
변수의 주소를 int*
포인터에 저장하려고 시도⦁
string* ptr4 = &number;
❌⦁
int
변수의 주소를 string*
포인터에 저장하려고 시도
💡 학습 팁
이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.