首页 > 编程知识 正文

python是什么类型语言,java语言的基本数据类型

时间:2023-05-04 02:43:32 阅读:182812 作者:2175

转自:http://blog.csdn.net/feimor/article/details/6858103

转自:http://blog.163.com/yx_xie2007/blog/static/1024642532011101411940162/

 

union类型特点:

1.union中可以定义多个成员,union的大小由最大的成员的大小决定;

2.union成员共享同一块大小的内存,一次只能使用其中的一个成员;

3.对某一个成员赋值,会覆盖其他成员的值,但前提是成员所占字节数相同,当成员所占字节数不同时只会覆盖相应字节上的值,比如对char成员赋值就不会把整个int成员覆盖掉,因为char只占一个字节,而int占四个字节;

4.联合体union的存放顺序是所有成员都从低地址开始存放的。

eg:typedef union{

         char c;

         unsigned int u

}Demo_u  v; 

v.u=0b1111 1111 1111 1111,当v.c的值修改成0b0000时,v.u的值修改成0b1111 1111 1111 0000;

 

union类型与struct类型的区别:

1.struct类型的大小由成员的所有大小决定,且需要满足字长对齐;

eg:typedef struct{

char c;

unsigned int ui;

}Demo_s  s;

结构体变量在8位机所占长度 1+4;在32位机所占长度 4+4;

2.struct变量为每一个成员分配内存,每个成员可以单独使用;

 

union类型的重要作用-----位操作

eg:

typedef union {
    struct {
        unsigned LATA0                  :1;     //结构体中:的定义----位域的长度        LATA0长度   1个bit
        unsigned LATA1                  :1;
        unsigned LATA2                  :1;
        unsigned LATA3                  :1;
        unsigned LATA4                  :1;
        unsigned LATA5                  :1;
        unsigned LATA6                  :1;
        unsigned LATA7                  :1;
    };
} LATAbits_t;

定义 LATAbits_t   LATAbits;则可以使用LATAbits.LATAn  (n=0-7)依次访问LATAbits变量的第0位到第7位。

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。