又是指针

来源:互联网 发布:网络神曲 编辑:程序博客网 时间:2024/05/22 00:13

指针啊指针,蛋疼的真是让人又恨又爱,不多说了,程序如下

#include <stdio.h>#include <stdlib.h>#include <MEMORY.h>typedef struct test{float fNum;char sz[512];}TEST_STRUCT;int main(void){TEST_STRUCT t;float a,b;float *c,*d;a = 1;b = 2;memcpy((char*)&t.sz + sizeof(t.fNum), &a, sizeof(a));memcpy((char*)&t.sz + sizeof(a) + sizeof(t.fNum), &b, sizeof(b));c = (float *)(t.sz + sizeof(a) + sizeof(t.fNum));d = (float *)(t.sz + (sizeof(a)));printf("\t%f\t%f\n\n", *c, *d);printf("\t源地址(char*):%x          源地址:%x\n\n\        用(char *)转换后地址:%x         转换前地址:%x\n\n\        地址实验1:%x                    地址2:%x\n\n\n",(char*)&t.sz,                                 &t.sz,(char*)&t.sz + sizeof(t.fNum),                &t.sz + sizeof(t.fNum), //这个如果不强制转化一下,则以t.sz为度量单位(char*)&t.sz + sizeof(t.fNum) * sizeof(char), (char*)&t.sz + sizeof(t.fNum) * sizeof(t.sz));return 0;}