728x90
728x90
int add(int, int);
int main() {
int a, b, c, d[20][20];
unsigned int r;
void* p;
int (*padd)(int,int);
padd = &add;
scanf("%d", &a);
scanf("%d %d", &b, &c);
p = &a;
printf("%d\n", *((int*) p));
printf("%d", padd(b, c));
}
int add(int a, int b) {
return a + b;
}
우리는 void* 로 p를 만들어 주었다. 그리하여 a의 주소를 p에 집어 넣고 p를 호출할 때 (int *)으로 형을 변경하여 출력해줬다.
함수를 가리키는 포인터는 위와 같이 포인터 하나와 그것이 가지는 변수의 형들을 입력해주면 된다. 그리고 함수의 주소를 넣어주고 그대로 필요한 값들을 넣어주면 사용할 수 있다.
ex)
6 -> 6
12 15 27
728x90
'언어 > C' 카테고리의 다른 글
c언어 복습 - 입력, python도 조금 (0) | 2024.03.22 |
---|---|
C언어 영상처리 - 과제 1 (0) | 2024.03.20 |
오랜만에 C언어 복습 (1) | 2024.03.12 |
포인터를 가리키는 포인터 (1) | 2023.11.17 |
정수형(8 bits) 16진수 변환 (1) | 2023.11.17 |