포인터배열에 대한 질문입니다.
슬아s
질문 제목 : 포인터배열에 대한 질문입니다.
포인터 배열을 공부하던 중 학교의 학급의 학생 성적 합계 및평균 내는 프로그램을 혼자 짜보았는데요
결국 마지막엔 뻑이 나네요...
1. 왜 학급당 4명씩밖에 인식이 안되는 거죠?
2. 이런식의 코딩은 적절한 건가요?
3. 어설프다면 어디를 고쳐야지 세련된 건가요?
5시간째 이것때문에 골머리를 쌓고 있습니다.
답변해주시면 정말정말 감사ㅜㅜ.....#include stdio.h
#include stdlib.h
void main()
{
int *arScore[] = {0,};
int i,j, clNum,stNum;
int *sum;
printf(귀교의 학급은 몇개입니까?);
scanf(%d,&clNum);
for(i = 0 ; iclNum; i++)
{
printf(%d반의 학생수:, i+1);
scanf(%d, &stNum);
arScore[i] = (int*)malloc(stNum*sizeof(int)); // -----여기서사이즈가 4로밖에 인식을 못하는 거 같아요
sum = (int*)malloc(clNum*sizeof(int));
printf(%d반 %d명\n,clNum, stNum);
if(arScore[i] == NULL)
{
printf(메모리가 부족합니다);
exit(0);
}
}
printf(%d개 반 총 %d명\n,clNum, sizeof(arScore));
for(i = 0 ; iclNum; i++)
{
sum[i] = 0;
for(j = 0 ; j sizeof(arScore[j]) ; j++)
{
printf(%d반 %d번 학생의 점수를 입력하시오, i+1, j+1);
scanf(%d,&arScore[i][j]);
sum[i] = sum[i] + arScore[i][j];
}
printf(%d반의 총점은 %d, 평균은 %d 입니다\n,i+1, sum[i], sum[i]/sizeof(arScore[i]));
}
for(i=0 ; iclNum ; i++)
{
free(arScore[i]);
}
free(sum);
}
-
Orange
printf(\%d개 반 총 %d명\\n\
-
깜찏한그1녀
포인터 없이 프로그래밍 해보세요.
그후에 다시 포인터 사용해 보세요.
그래야 포인터의 필요성 및 로직이 확실하게 본인의 것이 됩니다.