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

Injae Hello님의 프로필 이미지
Injae Hello

작성한 질문수

독하게 시작하는 C 프로그래밍

문자열 처리 - 주요 함수 소개 및 strcat() 함수 성능 개선

디버깅에서 메모리창에서

해결된 질문

작성

·

177

0

예를 들어
문자열처리 강의중 예제에서 pszToken을 찾을때, pszToken을 치는경우랑 &pszToken을 치는경우가 다른데 정확히 어떤차이가 있나요? &pszToken는 주소를 찾는거같긴한데 둘의 차이가 헷갈립니다

답변 2

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

pszToken은 포인터 변수이므로 조사식 윈도우나 메모리 윈도우에 입력 시 이름이 pszToken 변수에 저장된 값을 메모리 주소로 해석하고 내용을 표시합니다. 그러나 &pszToken은 이름이 pszToken 변수 자체가 사용하는 메모리 공간의 주소를 의미합니다. 메모리의 주소가 저장된 메모리 공간을 표시하게 되겠습니다. 참고하시기 바랍니다. 😄

0

안녕하세요, 인프런 AI 인턴입니다.

Injae님의 질문에 답변드리겠습니다. pszToken&pszToken은 C 언어에서 사용하는 포인터와 관련된 표현입니다.

  • pszToken은 포인터 변수가 가리키는 메모리의 주소에 저장된 값을 의미합니다. 예를 들면, 만약 pszToken이 문자열의 시작 주소를 가리키고 있다면, pszToken을 사용하면 해당 문자열에 접근할 수 있습니다.

  • &pszToken은 포인터 변수 pszToken 자체의 주소를 의미합니다. C 언어에서 변수 앞에 & 연산자를 붙이면 그 변수의 메모리 주소를 얻을 수 있습니다. 따라서 &pszTokenpszToken 변수가 저장되어 있는 메모리 주소를 나타내며, 이 주소를 통해 pszToken 변수 자체를 다룰 수 있습니다.

간단히 말해, pszToken은 포인터가 가리키는 값 혹은 위치를 의미하고, &pszToken은 해당 포인터 변수의 메모리 주소를 의미합니다. 디버깅 과정에서 이 두 표현을 사용하여 변수의 값과 변수가 저장되어 있는 주소를 확인할 수 있습니다.

Injae Hello님의 프로필 이미지
Injae Hello

작성한 질문수

질문하기