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
[59389] Re:배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다.
Intotheblue [makerjh] 1353 읽음    2009-12-08 21:01
C/C++에서 배열은 중간에 동적으로 사이즈를 변경할수 없습니다.
동적으로 변경되는 경우는 malloc이나 new 로 동적생성하는 방법밖에 없고..

조금 특별한 자료구조로...
동적으로 변경되는 배열을 쓰고 싶으시면..

강좌란이나 어딘가에...
dynamic_array 사용법이 있을겁니다.

임형섭 님이 쓰신 글 :
: 우선
: int count =3;
: char buf[count];
: 이런식으로 쓰면
:
: //--
: [BCC32 Error] Unit2.h(52): E2313 Constant expression required
:   Full parser context
:     File1.cpp(7): #include Unit2.h
:     Unit2.h(13): class CompressFile
:     Unit2.h(66): decision to instantiate: void CompressFile::unCompressFile(char *,char *)
:     --- Resetting parser context for instantiation...
:     Unit2.h(41): parsing: void CompressFile::unCompressFile(char *,char *)
: //--
: 란 에러가 뜨네요.  그래서 상수 값을 쓰라는 건가 보다라고 생각해서
:
: const int count =3;
: char buf[count];
: 이런식으로 하니 에러가 안났습니다.
:
: 드디어 질문 파일의 길이를 구하는데
: FILE* file;
: file = fopen("파일명","wb");
: if(file == NULL) printf("error");
: const int fileLength = filelength(fileno(file));
: char buf[fileLength];
: 라고 하면 될 줄 알았는데 맨 위와 같은 에러가 뜹니다. 그 이유를 알고 싶습니다. -- 알고 보니 반환형이 long 형이네요
: 그럼 다음 질문
: 실제로 char buf[fileLength];를 char* buf = (char*)malloc(fileLength) 라고 하면 아무 문제가 없지만 긍금한 것은
: 그냥 배열로 만드는 방법은 없을까요?

+ -

관련 글 리스트
59388 배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다. 임형섭 1286 2009/12/08
59396     Re:배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다. 땅주인 1270 2009/12/09
59389     Re:배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다. Intotheblue 1353 2009/12/08
59392         Re:Re:배열에서 []안에 쓸 수 있는 값에 대해 질문있습니다 임형섭 1579 2009/12/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.