함수 포인터, 포인터 배열과 typedef 기초 예시
#include <iostream>
#include <stdlib.h>
using namespace std;
int func();
int func2();
int main(int argc, char** argv)
{
int (*aa)(); // 1. 함수 포인터
typedef int (*qq)(); // 2. 함수 포인터 정의 : int를 리턴하는 함수에 대한 포인터
typedef int (*ee)[5]; // 3. 5개의 int형 데이터를 저장하는 배열의 포인터를 정의
int arr[5] ={1,2,3,4};
int (*arrs[2])(); // 4. 함수 포인터를 저장하는 포인터 배열
typedef int(*arrs2[2])(); // 5. 함수포인터를 저장하는 포인터 배열의 정의
qq ww; // 2 변수 선언
aa = func; // 1 주소대입
aa(); // 1 실행
ww = func; // 2 주소대입
ww(); // 2 실행
ee rr; // 3 변수 선언
rr = &arr; // 3 주소대입
for(int i = 0 ; i < 5 ; i++)
{
cout<<(*rr)[i]<<endl;
}
arrs2 arrs1; // 5
arrs[0] = func; // 4
arrs[1] = func2; // 4
arrs1[0] = func; // 5
arrs1[1] = func2; // 5
arrs[0](); // 4
arrs1[1](); // 5
system("pause");
return 0;
}
int func()
{
cout<<"haha"<<endl;
return 0;
}
int func2()
{
cout<<"hoho"<<endl;
return 0;
}