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이라는 배열의 주소를 매개변수?로 받은거죠? 주소를 받았기 때문에 리턴값이 없어도 메인함수에 해당함수에서 변경한 값을 전달할수있는거고 그렇지요?
그렇다면 *는 지역변수를 전역변수처럼 활용하게 해주는 거네요? 만나요?
댓글 0