예상 했던 것과 같이.....
지역 변수 및 전역 변수 선언에 따른 스택, 메모리 할당 차이 문제 때문에...
대용량의 지역 변수를 선언하면..컴파일에 문제는 없지만, 실행시 에러...
해결 하는 방법: 포인터 변수를 이용한 직접 메모리 할당..
예제 2차원 정수 변수 사용
=========================================================
var = (int **)malloc(sizeof(int*) * MAX_ARRAY_SIZE);
for(i=0;i<MAX_ARRAY_SIZE;i++)
{
var[i] = (int *)malloc(sizeof(int) * MAX_ARRAY_SIZE);
// user code area
// usage: var[i][j]
}
=========================================================
주의 할점...꼭 free를 이용해서 메모리 해제를 해 줄 것
할당한 반대 순으로...
============
free(var[i]) 한 후에
free(var) 하면 됨
'개발 및 연구 정보' 카테고리의 다른 글
[펌]Webometrics - 웹 관계 (0) | 2008.05.15 |
---|---|
기초적인 수학 기호 (0) | 2008.01.25 |
[VC++]구조체를 qsort 하기 (0) | 2007.11.06 |
컴퓨터 관련 약어집 (0) | 2007.11.06 |
VC++ 문자열 분리 알고리즘 (0) | 2007.10.29 |