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
[21642] Re:[질문]void * abc[134297727]로 선언된 배열을 초기화 하고 싶습니다.
왕대박 [emrwo] 1655 읽음    2002-09-24 18:25
음.. 안녕하세요.
저는 각종 배열의 초기화는 ZeroMemory라는 API를 사용합니다만...
뭐.. 이렇게요..
//---------------------------------------------------------------------------
// NULL로 초기화 됩니다.
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
    try
    {
        void* abc[100];
        ZeroMemory(abc, sizeof(abc));
        ShowMessage("초기화 완료");
    }
    catch(...)
    {
        ShowMessage("초기화 No완료");
    }
}
//---------------------------------------------------------------------------
//  0 (zero)로 초기화됩니다.
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
    try
    {
        int abc[100];
        ZeroMemory(abc, sizeof(abc));
        ShowMessage("초기화 완료");
    }
    catch(...)
    {
        ShowMessage("초기화 No완료");
    }

}

//---------------------------------------------------------------------------
// 참고~
//---------------------------------------------------------------------------
The ZeroMemory function fills a block of memory with zeros.

VOID ZeroMemory(
    PVOID Destination,     // address of block to fill with zeros
    DWORD Length     // size, in bytes, of block to fill with zeros 
   );   

Parameters

Destination    Points to the starting address of the block of memory to fill with zeros.
Length         Specifies the size, in bytes, of the block of memory to fill with zeros.


하지만,
void * abc[134297727];
라는 어마어마한 메모리는 어떤 Machine과 컴파일러에서 잡을수 있는지는 모르겠습니다.
기본적으로 Pointer는 4byte처리되니깐...
134297727 * 4 byte = 537190908 byte
대략~~ 530MByte 정도의 메모리인데....  --;;;

그럼.. 즐프하세요..


행인1 님이 쓰신 글 :
: 위와 같이 선언된 배열을 NULL로 초기화 하고 싶습니다.
:
: 한번에 할수 있는 쉬운 방법이 없을까요?
:
: 루프를 돌리면 언제 끝날지도 모르겠더라구여.
:
:
: 알려주세요

+ -

관련 글 리스트
21637 [질문]void * abc[134297727]로 선언된 배열을 초기화 하고 싶습니다. 행인1 746 2002/09/24
30768     Re:[질문]void * abc[134297727]로 선언된 배열을 초기화 하고 싶습니다. Julien 726 2002/09/24
21642     Re:[질문]void * abc[134297727]로 선언된 배열을 초기화 하고 싶습니다. 왕대박 1655 2002/09/24
21646         우어어엇~~ 감사합니다.(냉무) 행인1 676 2002/09/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.