Step by step

My diary

...

Search

breakinformation. Powered by Blogger.

2018년 9월 30일 일요일

return multiple function pointer parameter


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
#include <stdio.h>
 
int add (int number1, int number2);
int (*get_add (int get_addNumber1, int get_addNumber2)) (int addNumber1, int addNumber2);
int (*(* get_getAdd (int get_getAddNumber1, int get_getAddNumber2)) (int get_addNumber1, int get_addNumber2)) (int addNumber1, int addNumber2);
 
int main (void) {
    
    int (*(*functionPointerMultiple) (int get_addNumber1, int get_addNumber2)) (int addNumber1, int addNumber2);
    
    functionPointerMultiple = get_getAdd (1020);
    printf("%d\n", functionPointerMultiple(30,40)(50,60));
    
    // ================================================
//    printf("%d\n", get_getAdd(10,20)(30,40)(50,60));
    
    return 0;
}
 
int add (int number1, int number2) {
    
    return number1 + number2;
}
int (*get_add (int get_addNumber1, int get_addNumber2)) (int addNumber1, int addNumber2) {
    
    printf("%d\n", get_addNumber1 + get_addNumber2);
    return add;
}
int (*(*get_getAdd (int get_getAddNumber1, int get_getAddNumber2)) (int get_addNumber1, int get_addNumber2)) (int addNumber1, int addNumber2) {
    
    printf("%d\n", get_getAddNumber1 + get_getAddNumber2);
    
    return *get_add;
}
cs

0 개의 댓글:

댓글 쓰기