?????????C?????????????C?????????????????????????幹???????????????????????????????????????????????????????????λ??????????????????????????????????????????????????????
#include#include/*???嶨?? */
//??н?????????
struct stuff
{
char job[20];
int  age;
float height;
};
//???н????????????????????????
struct stuff1
{
char job[20];
int  age;
float height;
}Hu;
//struct stuff1  Hu //??????????
// ???岻????????????????????????????????????
struct
{
char job[20];
int  age;
float height;
}Hu1;//???????????????????????????????????????????
/*??????????? */
typedef struct Stu
{
char job[20];
int  age;
float height;
}Stuff??*PtrStuff;
Stuff      Sam;//???? struct Stu Sam;
PtrStuff  pSam;//???? struct Stu *Sam;
/*?????????????? */
typedef struct arraychange
{
int cnt;
char pc[0];
}arraychange;//pc??????????????????λ??????????飬?????
struct check
{
union
{
char a;
};
int i;
}CheckSystem; //??????С????????????????????
struct structureA
{
struct structureB
{
int c;
}b;  //??????????????????????struct structureB bb??
struct structureB bb;
}a;//?????к??н??壻
//?????????y??????????壬?????????????????????????????????y?????????????????????????????????壬???????Ч???
void func1(int par);        //???????
Stuff func2(Stuff par);      //???壬???????
void func3(PtrStuff par); //???????
void print(Stuff par);
//???庬?к???????????????????????????????????????
int fun1(int age??int weight);
void fun2(int age??int weight);
struct Fun
{
int age;
int weight;
int (*pfun1)(int age??int weight);  //???????????int???????????int????
void (*pfun2)(int age??int weight);  //??????з??????????int????
};
int main(void)
{
/*??????????????? */
Stuff    test??tmptest;
PtrStuff  ptest=&test;
/*???庬?к??????*/
struct Fun myfun={10??45??fun1??fun2};
struct Fun *ptrmyfun=&myfun;
int age=22??weight=60??temp=0;
/*??????????????? */
strcpy(test.job??"manager");
test.age=25;
test.height=1.65;
func1(test.age);
tmptest=func2(test);
print(tmptest);
func3(ptest);
print(test);
/*???庬?к??????*/
temp=myfun.pfun1(age??weight); //??????ú???
printf("temp %d "??temp);
myfun.pfun2(age??weight);  //??????ú???
myfun.age=80;
myfun.weight=65;
temp=ptrmyfun->pfun1(myfun.age??myfun.weight); //?????ú???
printf("temp %d "??temp);
ptrmyfun->pfun2(myfun.age??myfun.weight);    //?????ú???
return 0;
}
void print(Stuff par)
{
printf("your job is:%s "??par.job);
printf("your age is:%d "??par.age);
printf("your height is:%f "??par.height);
}
void func1(int par)
{
printf("your age is:%d "??par);
}
Stuff func2(Stuff par)
{
strcpy(par.job??"Engineer");
par.age=30;
par.height=1.80;
return par;
}
void func3(PtrStuff par)
{
strcpy(par->job??"Programmer");
par->age=19;
par->height=170;
}
int fun1(int age??int weight)
{
int temp=0;
temp=age+weight;
return temp;
}
void fun2(int age??int weight)
{
printf("your age is:%d "??age);
printf("your weight is:%d "??weight);
}