#include <iostream>
using namespace std;
double d =3.14;
typedef struct test Data;
typedef struct test * Pdata;
typedef struct test *(*FP)(Pdata);
typedef int *(*FP2)(Pdata);
struct test
{
int a;
double * d;
struct test *Ptest;
int arrp[3][2];
};
struct test * func1(Pdata Px)
{
return Px->Ptest;
}
int * func2(Pdata Px)
{
return &(Px->a);
}
void my_test(char a,...)
{
cout<<**(double **)(&a+4)<<endl;
cout<<*((*((Pdata *)(&a+8)))->d)<<endl;
cout<<*((*((FP *)(&a+12)))(*((Pdata *)(&a+8)))->d)<<endl;
cout<< **(double **)(((int *)(((*((FP2 *)(&a+16)))(*((Pdata *)(&a+8))))))+1)<<endl;
cout<<**(double **)(((int *)(&a+20))-4)<<endl;
}
int main()
{
Data x = {100,&d,&x,{0,100,200,300,400,500}};
my_test('A',&d,&x,func1,func2,&x.arrp[0][2]);
}
'Soft Ware > C++ 언어!!' 카테고리의 다른 글
itoa 를 구현해 보자!! ㅎㅎㅎ (0) | 2012.01.28 |
---|---|
#pragma 에 대해서 ^^ 어느분 블러그에서 가지고 왔습니다 (0) | 2012.01.27 |
using 지시자와 using 선언 (0) | 2011.10.24 |
함수 오버로딩 때 순서 (0) | 2011.10.22 |
템플릿의 구체화 및 특수화 (0) | 2011.10.22 |