에러좀 .. 봐주세요..
글쓴이: 하하 / 작성시간: 금, 2004/07/02 - 1:59오후
int main() {
int **arrayCompany;
int **arrayGrade;
int **arrayMaxscore;
int i;
for(i=0; i<5; i++) {
(arrayCompany[i]) = (int *)malloc(sizeof(int));
(arrayGrade[i]) = (int *)malloc(sizeof(int));
(arrayMaxscore[i]) = (int *)malloc(sizeof(int));
}
for(i=0; i<5; i++) {
free(arrayCompany[i]);
free(arrayGrade[i]);
free(arrayMaxscore[i]);
}
}
위 코드를 실행하면 에러가 납니다.
왜 그런가요? 고수님들의 속시원한 답변 부탁드립니다.
Forums:


할당되지 않은 곳에 값을 넣을려고 하니.. 당근.. 에러지요...
할당되지 않은 곳에 값을 넣을려고 하니.. 당근.. 에러지요...
int *arrayCompany[5];
이런식으로 바꾸세요.
Re: 에러좀 .. 봐주세요..
다음과 같이 고치셔도 됩니다.
int main() { int **arrayCompany; int **arrayGrade; int **arrayMaxscore; int i; arrayCompany = (int **)malloc(sizeof(int *) * 5); arrayGrade = (int **)malloc(sizeof(int *) * 5); arrayMaxscore = (int **)malloc(sizeof(int *) * 5); for(i=0; i<5; i++) { (arrayCompany[i]) = (int *)malloc(sizeof(int)); (arrayGrade[i]) = (int *)malloc(sizeof(int)); (arrayMaxscore[i]) = (int *)malloc(sizeof(int)); } for(i=0; i<5; i++) { free(arrayCompany[i]); free(arrayGrade[i]); free(arrayMaxscore[i]); } free(arrayCompany); free(arrayGrade); free(arrayMaxscore); }-----------
청하가 제안하는 소프트웨어 엔지니어로써 재미있게 사는 법
http://sozu.tistory.com
댓글 달기