前几天,tx公司面试题一个问题,共用体中的变量是连续存储在内存空间中的?但是还是答对里,感觉概念还是比较的模糊,毕竟自己很少去用共用体这个结构。
共用体:有时需要把不同类型的变量存放到同一段内存单元中,但都是重同一地址开始存放(什么东东,不就是把前面的一个给覆盖里吗,哈哈!),也就是覆盖技术,几个变量互相的壶盖,这种使几个不同的变量共同占用同一段内存的结构,我门称其为共用体。
共用体变量所占用的内存长度等于最长的成员的长度。
要先定义好共用体后,才能引用,不能应用共用体变量,只能引用其成员(也就是说可以用可以用共用体的变量给另外的变量赋值)
共用体变量中起作用的成员是最后一次存放的成员,这个不难理解。
共用体变量的地址河它的各成员的地址都是同一地址,这也不难理解。
不能对共用体变量赋值,也不能用变量名来得到一个值。
共用体变量不能用在函数的参数,但是可以用指向共用体的指针,这个河结构体比较的类是。