• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

이중 포인터와 const

23.09.28 23:16 작성 조회수 194

1

안녕하세요. 이중포인터에 const를 어느 위치에 붙이냐에 따라 고정되는 값에서 차이가 생기는데, 제가 그 차이를 제대로 이해한 것이 맞는지 몰라 질문드립니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int x = 20;
	int* p1 = &x;
	const int* const * pp2 = &p1;
	const int** const pp2 = &p1;

	return 0;
}

이런 코드가 있다고 할 때,

const int* const * pp2 = &p1; 코드에서 고정된 값은 pp2가 한 번 indirection 한 주소값, 즉 p1자체의 값과 x의 값이다.

const int** const pp2 = &p1; 코드에서 고정된 값은 pp2 자체의 주소값과 x의 값이다.

 

이렇게 이해했는데, 맞을까요??

늘 친절한 답변 감사합니다.

 

 

답변 1

답변을 작성해보세요.

3

Soobak님의 프로필

Soobak

2023.09.29

안녕하세요, 답변 도우미 Soobak 입니다.

네, 옳게 이해하시고 계십니다.
포인터와 이중 포인터에서의 const 의 동작 방식을 잘 구분하고 이해하고 계십니다!

👍