인프런 커뮤니티 질문&답변

이재완님의 프로필 이미지
이재완

작성한 질문수

홍정모의 따라하며 배우는 C언어

10.15 포인터의 호환성

이중 포인터와 const

작성

·

291

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 입니다.

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

👍

이재완님의 프로필 이미지
이재완

작성한 질문수

질문하기