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

Becher Wasser님의 프로필 이미지
Becher Wasser

작성한 질문수

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

2.4 void (값이 없는 void, 메모리 주소도 없나요?)

작성

·

228

2

답변을 달아 주실지는 모르겠지만 일단 이 글을 읽어주셨다는 것에 감사를 표합니다.

void 관련 질문입니다.

"void 는 값이 없다 " 라고 알고 있는데

'void는 값이 없다' =' 메모리 주소도 없다'

라고 생각해도 될까요?

또는

void가 메모리 주소를 가지고 있는지 없는지 판별할 수 있는 코드나 함수가 있을까요?

메모리 주소를 보고 싶어서 void를 변수 선언했더니 강사님 말씀대로 역시나 안 되더라구요.

날이 많이 춥네요. 감기조심하시고 모두모두 건강 + 실력 쑥쑥 되길 바라겠습니다.

답변 3

2

2.4 강의에서 교수님께서 가르쳐주신게 void 포인터인데

void 포인터는 가르키는 대상의 자료형이 정해지지 않은 포인터일 뿐입니다.

int 포인터, double 포인터 등등.. 타입에 상관 없이 모든 포인터들은 주소값을 담는 변수이므로 전부 동일하게 4byte 크기를 가집니다. 

따라서 동일하게 void 포인터도 4byte 크기를 가집니다. 주소값을 담기 때문입니다. 그 주소에 있는 데이터의 타입을 정해놓지 않는다는 의미에서 "void" 포인터인 것이에요. 포인터이기때문에 주소를 담을 수 있는 공간이구요.

결론은 메모리 주소 있습니다!   포인터니까요!

메모리를 들여다보고 싶으면 디버깅을 해보시면 됩니다! void 포인터인 ,my_void에 i의 주소를 넣으니 i의 주소가 잘 들어간 것을 볼 수 있습니다.

neue zeal 님 말씀처럼 다음에 질문 주실 때는 코드 첨부와 더불어 꼭 연관영상에서 질문 주시기를 부탁드립니다. 이렇게 질문 주시면 답변드리기 위해 참고하는데 어려운 부분이 있습니다.

2

안녕하세요?

테스트를 위해 작성한 코드를 보여주시겠어요?

해당강의에서 질문을 작성해주셔야 답변하기 수월합니다. (가능하다면 타임라인의 시간 명시)

감사합니다.

1

Becher Wasser님의 프로필 이미지
Becher Wasser
질문자

답변 감사합니다! 

처음 질문을 해봐서 많이 미숙했습니다. 질문을 잘해야 답변도 잘 받을 수 있다고 수업중에 조언해주시던데 그게 제 얘기였나보네요. 

다음엔 적합한 곳에서 자세하게 질문해야겠네요. 

질문에 대한 답변과, 질문을 어디서 어떻게 해야하는지 알려주셔서 감사해요

Becher Wasser님의 프로필 이미지
Becher Wasser

작성한 질문수

질문하기