C语言结构体中最后一个成员为char[1]或char[0]

原文地址: 须要引发注意的:ISO/IEC 9899-1999里面,这么写是非法的,这个仅仅是GNU C的扩展,gcc能够容许这一语法现象的存在。 结构体最后使用0或1的长度数组的缘由,主要是为了方便的管理内存缓冲区,若是你直接使用指针而不使用数组,那么,你在分配内存缓冲区时,就必须分配结构体一次,而后再分配结构体内的指针一次,(而此时分配的内存已经与结构体的内存不连续了,因此要分别管理即申请和释
相关文章
相关标签/搜索