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

C++빌더 Q&A
C++Builder Programming Q&A
[74704] Re:Re:포인터 변수와 포인터 배열을 혼용해서 썻을때 생길수 있는 문제가 있나요?
재야의 초수 [] 3220 읽음    2017-12-27 07:11
빌더(TWx) 님이 쓰신 글 :
: 한시운 님이 쓰신 글 :
: : 다음과 같이 포인터 변수를 쫙 선언후 배열에 대입했을때 문제가 생길수 있나요?
: :
: : 	TAdvShape *Shape1;
: : 	TAdvShape *Shape2;
: : 	TAdvShape *Shape3;
: : 	TAdvShape *Shape4;
: : 	TAdvShape *Shape5;
: : 	TAdvShape *Shape6;
: : 	TAdvShape *Shape7;
: : 	TAdvShape *Shape8;
: : 	TAdvShape *Shape9;
: : 	TAdvShape *Shape10;
: :         TAdvShape *Shape[10];
: : 
: : 	Shape[0] = Shape1;
: : 	Shape[1] = Shape2;
: : 	Shape[2] = Shape3;
: : 	Shape[3] = Shape4;
: : 	Shape[4] = Shape5;
: : 	Shape[5] = Shape6;
: : 	Shape[6] = Shape7;
: : 	Shape[7] = Shape8;
: : 	Shape[8] = Shape9;
: : 	Shape[9] = Shape10;
: : 	Shape[10] = Shape11;
: : 
: : 	for (int i = 0; i < 10; i++) {
: : 
: : 		Shape[i]->Visible = true
: : 		Shape[i]->Appearance->Pen->Color = clLime;
: : 		Shape[i]->Left = 0;
: : 		Shape[i]->Top = 0;
: : 	}
: : 
: :       Shape1->Visible = false;
: : 

: : 위 와같은 식으로 쫙 선언하고 어떻땐 배열로 어떨땐 변수로 사용하게 됬을때
: : 문제가 생길수 있나요??
:
:
: 답변:
:
: 없습니다.

네 문제는 없을것 같습니다.
그리고 좋은 방법인것 같습니다.

#define PLAY  0
#define STOP 1
userSw * sw[2];

sw[PLAY].check();
sw[STOP ].check();

위 방식으로 사용하는 사람들이 많은데 전 이런 방법을 좋아 하지 않습니다.

저는 질문자 님처럼 아래와 같이 사용합니다.

userSw * sw_play;
userSw * sw_stop;
userSw * sw_group[2];

sw_group[PLAY] = sw_play;
sw_group[STOP] = sw_stop;

sw_play->check();
sw_stop->check();

그룹으로 접근할때랑 개별적으로 접근할때 다른 이름을 가지고 접근합니다.

다 아시는 내용이지만
malloc( sizeof(userSw) * 2 ); 는 연속된 메모리를 가지고 있지만
new userSw[2]; 는 연속되는 메모리가 아닐수도 있으니 이것만 주의 하면 되겠습니다.




+ -

관련 글 리스트
74695 포인터 변수와 포인터 배열을 혼용해서 썻을때 생길수 있는 문제가 있나요? 한시운 3303 2017/12/21
74697     Re:포인터 변수와 포인터 배열을 혼용해서 썻을때 생길수 있는 문제가 있나요? 빌더(TWx) 3232 2017/12/21
74704         Re:Re:포인터 변수와 포인터 배열을 혼용해서 썻을때 생길수 있는 문제가 있나요? 재야의 초수 3220 2017/12/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.