C에서는 괄호 없이 함수를 적어줌으로써 함수의 주소 얻을 수 있다. 그리고 그 주소를 함수 포인터와 void 포인터에 넣을 수 있다. 하지만 int 같은 형을 가진 포인터들에 주소를 넣어주려 하면, 에러를 뱉어낸다. 기본적으로 주소에서 몇 바이트만큼 읽어올 것인지와 포인터에 대한 연산이 포인터의 형에 따라 달라지기 때문에 당연하다고 볼 수도 있다. 예를 들어서 int형 포인터는 +1 하면 4바이트씩 더해져서 읽어진다. void 포인터는 일반적으로 포인터 타입 캐스팅한 뒤에 사용된다. 함수 포인터와 void 포인터 둘다 함수의 주소를 넣어줄 수는 있지만 함수를 실행시키는 것은 함수 포인터만 가능하다. 내부적으로는 둘다 차이가 없는지 궁금해서 gdb로 뜯어보겠다. gcc -g -o C C.c로 컴파일해주고 ..