(C/Objc) 함수 포인터와 코드 블럭
C언어에서 어떤 타입의 배열과 포인터는 다른 것이지만, 흔히들 혼용해서 사용하기도 한다. 이것은 배열의 이름 그자체가 배열의 시작번지를 나타내는 값으로 작동하기 때문이다. 그런데 함수에 대해서도 이와 비슷한 규칙이 성립한다. 프로그램이 실행되는 동안, 프로그램 내의 모든 실행코드들은 메모리에 올라와 있다. 이 말은 즉, 함수가 실행되기 위해서는 해당 함수의 실행코드가 메모리 상에 로드되어 있다는 말이고, 함수의 시작번지를 프로그램은 어떤식으로든 알고 있다는 것이다. 배열의 예와 마찬가지로 함수의 이름은 함수의 실행코드가 로드되어 있는 메모리 주소를 가리킨다. 그렇다면 임의의 T타입 배열의 이름을 T타입 포인터에 대입해서 그… 더 보기 »(C/Objc) 함수 포인터와 코드 블럭