>> Delete No. 61504 article
No. 그렇게 하면 안될 겁니다.

등록 2002-11-24 15:19:00 By localhost     조회 33
이름 윤성진    

		#define을 하든 안하든 결과는
 int array[atoi(argv[n])];
 와 같은데요. 이렇게 하시면 안됩니다.
 동적은 배열 생성은 당연히 malloc이나 new operator를 이용하셔야 됩니다.
 이것은 스택 영역이 아닌 힙 영역에 메모리를 할당받고, 그 포인터를
되돌려 줍니다. 더군다나 생성할 배열 양이 무지하게 크다면 정적으로
생성하면 스택 영역이 넘쳐버리는 경우도 있습니다.
 사용 예는 다음과 같습니다.
 int *array = (int *)malloc(sizeof(int)*atoi(argv[2]));
array[0] = 1;
array[1] = 2;
... (배열 사용)
 free(array);          // 메모리 해제
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved