C언어 memcpy 함수에 대한 질문 드립니다.
글쓴이: miracleman / 작성시간: 수, 2015/09/16 - 12:11오전
안녕하세요.
memcpy가 쓰인 코드를 보다가 의문점이 있어, 이렇게 질문 드리게 되었습니다.
예를 들어 memcpy(&a, &b, 2); 라는 코드가 있을 때 해석을 하면 b의 주소가 가리키는 것을 a의 주소가 가리키는 곳에 2바이트를 복사한다고 볼 수 있을 것입니다.
그런데, 의문점이 생긴 것은 바로 b의 주소와 a의 주소라는 것입니다. 전 b의 주소가 가리키는 것은 b 내용 자체, a의 주소가 가리키는 것은 a 내용 자체라는 생각이 드는데
명확하게 결론을 내리지 못해, 전문가님들께 조언 드립니다. 만약 제가 생각한게 맞다면 b에 있는 데이터를 a에다 2바이트만큼 복사한다라고 생각하면 될 거 같은데요.
바쁘시겠지만, 전문가님들의 조언 부탁드립니다. 감사합니다.
Forums:
간단답변: 맞습니다.
간단답변: 맞습니다.
보통은 그렇겠습니다만 (a의 주소에 저장된 내용이면
보통은 그렇겠습니다만 (a의 주소에 저장된 내용이면 그게 곧 a의 값이죠)
예를 들어 a와 b가 int 타입이고 4바이트를 차지하는 데이터인데 저 memcpy 로 2바이트만 복사하면 정확한 b의 값을 복사하는 건 아니겠죠. (빅엔디안이라면 상위 2바이트, 리틀엔디안이라면 하위 2바이트만 복사)
좋은 하루 되세요!
댓글 달기