int main(void)
{
typedef struct people
{
STUDENT stu;
int num;
}PEOPLE;
PEOPLE stpeople; //定义这个结构体类型的变量
memcpy(stpeople.stu.name,"xiaoli",8);
stpeople.stu.age = 20;
stpeople.stu.score = 90;
stpeople.num = 5; //为这个结构体变量的成员赋值
//ppeople = (PEOPLE*)malloc(sizeof(PEOPLE)); //这个指针分配一块内存空间,存放结构体PEOPLE那么大
//memcpy(ppeople,&stpeople,sizeof(PEOPLE)); //将stpeople的内容赋值到这块内存空间中
//printf("num = %d\n",*(ppeople + sizeof(STUDENT)));
//printf("size = %d\n",ppeople + sizeof(STUDENT));
printf("pstpeople = %p\n",&stpeople);
printf("pname = %p\n",(stpeople.stu.name));
printf("page = %p\n",&(stpeople.stu.age));
printf("pscore = %p\n",&(stpeople.stu.score));
printf("pnum = %p\n",&(stpeople.num));
char *p = (char*)(&stpeople);
printf("pain = %p\n",(p + sizeof(STUDENT)));
printf("num = %d\n",*(p + sizeof(STUDENT)));
return 0;
}
C语言之指针的强制类型转换
最新推荐文章于 2022-07-09 21:16:58 发布