读书人

一个语法有关问题

发布时间: 2014-06-17 16:38:48 作者: rapoo

一个语法问题
我定义了一个结构体 struct{int a,
BOOL b
}In;
struct In *p; 指向结构体的指针

float *t;

buf[21000];

p = (In *)buf;
t= (float *)(p + 1); //词句要报错

我觉得可能是C的环境下 字节的问题
但是怎么改 能够同样实现t指向结构体的下一个单元呢?

t=(float *)(p+sizeof(In)); //报同样的错

不知道我说清楚没有 buf里面的值连续的存在结构体中的

因为是在WINSOCK下编程中遇到的问题 所以发这里了


[解决办法]
没看明白 你的buf里是什么分布 一个struct接一个float ?
char ff[5]; memset(ff,0,5);
memcpy(ff, &buf[sizeof(In)], 4); float t = itof(ff);
代码没试过
[解决办法]
t = (float *) buf[8]; //结构大小为8
[解决办法]
报的错是:unknow size of type 'incmplete struct defined at ...
应该使用sizeof(struct in)

读书人网 >VC/MFC

热点推荐