首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于结构体中union用法的有关问题

2012-04-19 
关于结构体中union用法的问题这是书上的一段代码C/C++ codetypedef struct CvMat {int typeint stepint*

关于结构体中union用法的问题
这是书上的一段代码

C/C++ code
typedef struct CvMat {int type;int step;int* refcount; union {uchar* ptr;short* s;int* i;float* fl;double* db;} data;union {int rows;int height;};//为什么不声明变量,而且即使声明变量后会与data冲突吗union {int cols;int width;};//同样的问题} CvMat;


[解决办法]
这是 C 语法的一个特例,rows、cols 等可直接访问,不必像前面 data 那样多加一层,这样更像 Pascal 中「记录的变体」,用起来更方便些。
比如
C/C++ code
CvMat c;c.rows=100;c.data.s=xxxx; 

热点排行