1 답변
-
- int* - int를 가리키는 포인터
- int const * - const int를 가리키는 포인터
- int * const - int를 가리키는 const 포인터
- int const * const - const int를 가리키는 const 포인터
const위치는 다음과 같이 쓸 수 있습니다
- const int * == int const *
- const int * const == int const * const
엄청 꼬아서 쓰면 이렇게도 쓸 수 있겠죠
- int ** - int를 가리키는 포인터를 가리키는 포인터
- int ** const - int를 가리키는 포인터를 가리키는 const 포인터
- int * const * - int를 가리키는 const포인터를 가리키는 포인터
- int const ** - const int를 가리키는 포인터를 가리키는 포인터
- int * const * const - int를 가리키는 const 포인터를 가리키는 const 포인터
예제에 같이 설명할게요
int number = 3; int anotherNumber = 4; const int constNumber = 5; int* ptr0 = &number; *ptr0 = 4; // 가능 ptr0 = &anotherNumber; //가능 ptr0 = &constNumber;//int*가 const int를 가리키는건 불가능 const int* ptr1 = &number; //가능 *ptr1 = 5; //ptr1이 const int를 가리키므로 불가능 ptr1 = &anotherNumber; //가능 ptr1 = &constNumber;//가능 int *const ptr2; //불가능. const 포인터는 선언과 동시에 초기화해줘야 합니다 int *const ptr3 = &number; //가능 *ptr3 = 6; //가능 ptr3 = &anotherNumber; //불가능 const포인터이므로 가리키는 대상을 바꿀 수 없음
자세한 건 Clockwise/Spiral Rule을 참고하세요
댓글 입력