如上图,我定义了一个结构体,并且初始化(其中sock成员之后在其他地方初始化的的),为什么上课时老师老是说我这段内存分配有问题呢?
my_struct的大小不能这么计算。如果你想表达data是可变长度的,要么你将data设置为结构,要么设置为一个最大的可能值作为上限。
你的data没有分配空间,所以你的memcpy()函数向data写数据不crash才怪。
你的data是一个长度为0的字符数组,memcpy的时候会造成缓冲区溢出。