Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5126] Re:구조체(와 포인터)에 한 질문입니다~ 도와주세요.. 윽..
남병철.레조 [lezo] 1416 읽음    2005-07-17 07:23
포인터 캐스팅을 좀더 명확히 하는것이 필요했습니다.
아래는 표현 방법이 다를뿐 같은 내용입니다.

printf("Part: %s; Quantity : %d; Price: %5.2f\n", p, *reinterpret_cast<int*>(((char*)p+20)), *reinterpret_cast<float*>(((char*)p+24)));

printf("Part: %s; Quantity : %d; Price: %5.2f\n", p, *(int*)(((char*)p+20)), *(float*)(((char*)p+24)));



김기현 님이 쓰신 글 :
: 과제로 프로그램을 하나 짜는데요..
:
: 주어진 결과를 출력하게끔 해야하네요.. 포인터와 구조체를 사용해야하구요.. 결과물은 다음과 같습니다
:
: ---------------------------------------------------
: Part: Resistor; Quantity: 300; Price: 0.05;
: Part: Capacitor; Quantity: 250; Price: 0.65;
: ---------------------------------------------------
:
: #include <stdio.h>
: #include <string.h>
: #include <conio.h>
:
: typedef struct {
:                 char part[20];
:                 int quantity;
:                 float price;
:                }part_record;
:
: void PrintBin1(part_record a);
: void PrintBin2(part_record *p);
:
: int main(void)
: {
: clrscr();
:
: part_record r, c;
:
: strcpy (r.part, "Resistor");
: r.quantity = 300;
: r.price = 0.05;
:
: strcpy (c.part, "Capacitor");
: c.quantity = 250;
: c.price = 0.65;
:
: PrintBin1(r);
:
: PrintBin2(&c);
:
: getch();
: return 0;
: }
:
: void PrintBin1(part_record a)
: {
:  printf("Part: %s; Quantity : %d; Price: %5.2f\n", a.part, a.quantity, a.price);
: }
:
:
: void PrintBin2(part_record *p)
: {
:  printf("Part: %s; Quantity : %d; Price: %5.2f\n", p, p+20, p+22);
: }
:
: --------------------------------------------------------------------
:
: 일단 주어진 조건으로 코드를 짜봤는데요..
:
: 문제점은 PrintBin2 function에서 c.quantity 값(250)과 c.price 값(0.65)을 불러오질 못하네요..
:
: c.price 값("Capacitor")은 p를 사용해서 제대로 불러왔는데
:
: 흐음.. p+20 말고도 이래저래 다 넣어봤지만.. 에휴.. p가 &c.part 받는다면 &c.quantity는 &c.part+20이잖아요.. 그렇담 p+20 이 맏는거 아닌가요?? &c.price도 그렇구.. 조언 좀 부탁드립니다!!!!!!!
:
: 그럼 다들 즐거운 주말 보내세요~~ ^^

+ -

관련 글 리스트
5125 구조체(와 포인터)에 한 질문입니다~ 도와주세요.. 윽.. 김기현 1338 2005/07/16
5126     Re:구조체(와 포인터)에 한 질문입니다~ 도와주세요.. 윽.. 남병철.레조 1416 2005/07/17
5128         Re: 추가적으로 사랑전쟁 1359 2005/07/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.