티스토리 뷰

Coding/C

함수 포인터 인자와 리턴 - 2

빠리빵 2018. 6. 9. 14:32
 
#include

? ? f2(void) ? ?
static int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };

return a;
}

? ? f1(void) ? ?
return f2()[2];
}

void main() {
	printf("%d\n", f1 ??);
	system("pause");
}

/*
int(*f2(void))[4]{
	static int a[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
return a;
}

// f2는 int (* (void))[4] 를 리턴한다.
// f2()의 타입은 int (*) [4]
// f2()[2]의 타입은 int [4]
// 배열 상태이기 때문에 int *로 변경한다.

int(*f1(void)) {
	return f2()[2];
}

void main() {
	printf("%d\n", f1()[-2]);	// f1() -> f2()[2] -> a[2]니까 f1()[-2]가 정답. 메모리 그려볼 것
	system("pause");
}
*/

'Coding > C' 카테고리의 다른 글

함수 포인터 인자와 리턴 - 4  (0) 2018.06.09
함수 포인터 인자와 리턴 - 3  (0) 2018.06.09
함수 포인터 인자와 리턴  (0) 2018.06.09
함수 리턴 및 메모리 접근  (0) 2018.05.28
함수 parameter 및 메모리 접근 연습  (0) 2018.05.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함