Test/C

[자료구조-1] 배열 직접 정의와 malloc의 차이

kiostory 2018. 12. 8. 21:07

#include <stdio.h>
#include <stdlib.h>


int main(void)
{
 
     int sum, i;
     int num[10];                                                                        //int * num=(int *)malloc(10*sizeof(int));

     for (i = 0; i < 10; i++)
     scanf_s("%d", &num[i]);
     sum = calc_sum(num);
     printf("입력한 10개의 수의 합은 %d이고, 평균은 %d입니다.\n", sum, sum / 10);
 
     return 0;

}


int calc_sum(int *array)
{
     int sum, i;
     sum = 0;
     for (i = 0; i < 10; i++)
     sum = sum + *(array+i);
     return sum;
}



1 2 3 4 5 6 5 4 3 2
입력한 10개의 수의 합은 35이고, 평균은 3입니다. (소수점 절사는 무시함)



배열정의를 통한 메모리 확보와 malloc를 통한 확보사이의 차이점은

1. 배열의 이름을 통해 배열변수 시작 주소값의 변경(치환)이 불가하냐 가능하냐의 차이와

2. 변수의 lifetime ?