malloc 内存分配的问题,求解答

图片说明
如上图,我定义了一个结构体,并且初始化(其中sock成员之后在其他地方初始化的的),为什么上课时老师老是说我这段内存分配有问题呢?

my_struct的大小不能这么计算。
如果你想表达data是可变长度的,要么你将data设置为结构,要么设置为一个最大的可能值作为上限。

你的data没有分配空间,所以你的memcpy()函数向data写数据不crash才怪。

你的data是一个长度为0的字符数组,memcpy的时候会造成缓冲区溢出。