포인터 선언에서 데이터 타입이 중요한 이유는 무엇인가요?

과목: C++

문제 번호: 3460

medium
포인터 선언에서 데이터 타입이 중요한 이유는 무엇인가요?
int number = 100;
string text = "Hello";

// 어떤 선언이 올바른가요?
int* ptr1 = &number;     // A
string* ptr2 = &text;    // B  
int* ptr3 = &text;       // C
string* ptr4 = &number;  // D
A. 모든 선언이 올바르다
B. A와 B만 올바르다
C. C와 D만 올바르다
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++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.