1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <stdio.h>
void read_array (int *arr, int size)
{
    for (int i = 0; i < size; i++)
    {
        printf ("Enter a number for position %d: ", i);
        scanf ("%d"&arr[i]);
    }
}
 
 
 
void display_array(int *arr)
{
    printf ("\nThe elements of the array are:");
    printf ("\narr[0]=%d arr[1]=%d arr[2]=%d arr[3]=%d arr[4]=%d", arr[0], arr[1], arr[2], arr[3], arr[4]);
}
 
 
int main()
{
    int size;
 
    printf ("Enter the desired size of the array: ");
    scanf ("%d"&size);
 
    int arr [size];
 
    read_array(&arr, size);
    display_array(arr);
 
    return 0;
}
 
 
 
 
cs


제가 써놓고도 잘 이해를 못하겠어용


지금 read_array함수는 arr이라는 배열의 주소를 매개변수?로 받은거죠? 주소를 받았기 때문에 리턴값이 없어도 메인함수에 해당함수에서 변경한 값을 전달할수있는거고 그렇지요?


그렇다면 *는 지역변수를 전역변수처럼 활용하게 해주는 거네요? 만나요?