728x90
반응형
SMALL
#include <stdio.h>
#include <stdlib.h>
int main(void){
int *pi;
int i, sum = 0;
pi = (int *)malloc(sizeof(int));
if (pi ==NULL){
printf("not enough memory\n");
exit(1);
}
for(i = 0; i<5; i++){
scanf("%d", &pi[i]);
sum += pi[i];
}
printf("average five people age : %.1lf\n", (sum / 5.0));
free(pi);
return 0;
}
### 코드의 주요 부분 설명
1. **동적 메모리 할당**:
- `int *pi;`는 정수형 포인터 `pi`를 선언합니다.
- `pi = (int *)malloc(5 * sizeof(int));`를 통해 5개의 정수를 저장할 수 있는 메모리 공간을 할당합니다. 만약 메모리 할당에 실패하면, 프로그램은 메모리 부족 메시지를 출력하고 종료합니다.
2. **사용자 입력 받기**:
- 사용자로부터 5개의 정수를 입력받습니다. 각 입력은 동적으로 할당된 배열에 저장됩니다.
- 입력받은 각 정수는 `sum`에 더해집니다.
3. **평균 계산 및 출력**:
- 입력받은 정수들의 합을 이용해 평균을 계산합니다. 평균은 합계를 정수의 개수로 나눈 값이며, 이 경우 `sum / 5.0`을 통해 계산됩니다.
- 계산된 평균은 소수점 첫째 자리까지 출력됩니다.
4. **메모리 해제**:
- 프로그램의 마지막에 `free(pi);`를 호출하여 할당된 메모리를 해제합니다. 동적 메모리 할당 후에는 반드시 메모리를 해제해야 메모리 누수를 방지할 수 있습니다.
728x90
반응형
LIST
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 16) 동적 하랑한 저장 공간을 사용하는 프로그램 (0) | 2024.09.23 |
---|---|
chapter 16) 동적 할당 영역의 문자열을 함수로 출력 (0) | 2024.09.22 |
chapter 16) 구조체를 선언하고 멤버를 사용하는 방법 (0) | 2024.09.20 |
chapter 16) calloc, realloc 함수를 사용한 양수 입력 (0) | 2024.09.19 |
chapter 15) 함수 포인터로 원하는 함수를 호출하는 방법 (0) | 2024.09.18 |