-
24장. 배열과 포인터, 포인터 연산) 문제 24-4 [지역변수 및 함수의 주소 값 반환] - 2IT/솔루션) 난 정말C... 없다구요 2019. 4. 18. 18:19
<2016. 9. 26. 21:15>
24장. 배열과 포인터, 포인터 연산) 문제 24-4 [지역변수 및 함수의 주소 값 반환] - 2
/* 다음 구조적으로 큰 문제가 있는 문장을 완성시켜라. int * Invarr(void) { int arr[3] = { 1,2,3 }; return arr; } */ #include<stdio.h> #include<stdlib.h> int arr[3] = { 1,2,3 } ; int Invarr(int arr[]) { return arr; } int main(void) { int * ptrarr = Invarr(arr); int i; for (i = 0; i < 3; i++) { printf("%d ", ptrarr[i]); } system("pause"); return 0; } // 배열을 return 하게되면 배열의 주소값을 리턴하게 된다. 반환하는 방식은 올바르나, //배열이 함수 안에 선언이 되어 있으므로, 함수를 빠져나가면서 배열은 쓰레기값이 된다. // 따라서 배열을 전역번수로 선언 해주는 방법 등이 있다.
'IT > 솔루션) 난 정말C... 없다구요' 카테고리의 다른 글
25장. 함수 중심의 포인터 활용, 메모리의 동적 할당) 문제 25-1 [Call By Reference 형태의 함수 정의] - 1 (0) 2019.04.18 24장. 배열과 포인터, 포인터 연산) 문제 24-5 [2차원 배열 포인터의 선언과 활용] (0) 2019.04.18 24장. 배열과 포인터, 포인터 연산) 문제 24-4 [지역변수 및 함수의 주소 값 반환] - 1 (0) 2019.04.18 24장. 배열과 포인터, 포인터 연산) 문제 24-3 [언제나 동일한 arr[i]와 x(arr+i)] (0) 2019.04.18 24장. 배열과 포인터, 포인터 연산) 문제 24-2 [1차원 배열 이름의 포인터 형 결정하기] - 3 (0) 2019.04.18