首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

共用

共用 共用类型与结构类型一样都属于构造类型,都需要在程序中先定义数组类型再使用,它们定义的语法形式也是非常类似的。...但是它们存储方式是不同的,结构类型是各个成员的集合,每个成员都有自己的内存空间,而共用类型的所有成员共用同一段内存空间。这种存储方式决定了程序运行中的某一时刻共用类型中只能有一个成员起作用。...共用类型的定义 共用类型定义的一般形式 union 共用类型名 { 数据类型成员名1; 数据类型成员名2; .........data的共用类型,它由3个不同类型的成员组成。...当使用该共用 类型定义变量时,变量的3个成员共享同一内存空间。

38520
您找到你想要的搜索结果了吗?
是的
没有找到

结构共用

这种几个不同的变量共同占用一段内存的结构,被称为共用类型结构,简称共用。一般定义 形式为: union 共用名 { 数据类型 成员名 1; 数据类型 成员名 2; .........数据类型 成员名 n; }变量名表列; 只有先定义了共用变量,才能在后续的程序中引用它。不能直接引用共用变量,而只能引用共用 变量中的成员。...共用变量中起作用的成员是最后一次存放的成员,在存入一个新成员后,原有成员就失去作用。 共用变量的地址和它的各成员的地址都是同一地址。...不能把共用变量作为函数参数, 也不能是函数返回共用变量, 但可以使用指向共用变量的指针。 共用类型可以出现在结构类型的定义中,也可以定义共用数组。...反之,结构也可以出现在共 用类型的定义中,数组也可以作为共用的成员。

1.6K70

9.5 共用类型

01 什么是共用类型 1、一般形式 union 共用名 { 成员表列 }变量表列; 2、结构变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。...而共用变量所占的内存长度等于最长的成员的长度。 02 引用共用变量的方式 1、只有先定义了共用变量才能引用它,但应注意,不能引用共用变量,而只能引用共用变量中的成员。...3、共用变量中起作用的成员是最后一次被赋值的成员,在对共用变量中的一个成员赋值后,原有变量存储单元中的值就取代。 4、共用变量的地址和它的各成员的地址都是同一地址。...5、不能对共用变量名赋值,也不能企图引用变量名来得到一个值。 6、以前的C规定不能把共用变量作函数参数,但可以使用指向共用变量的指针作函数参数。...7、共用类型可以出现在结构类型定义中,也可以定义共用数组。 有时候,正是那些意想不到之人,成就了无人能成之事。 ——图灵 ? 文字/闫小林 图片/源于网络 - END -

5533029

结构共用(C语言)

1、结构共用的定义 结构关键字为struct,共用关键字为union /*** 定义一个person的结构,要';'结束*/struct person{ char name[20...//年龄 float height; //身高 float weight; //体重 }; /*** 定义一个people共用...*/union people{ char name[20]; int age;}; 2、结构共用的声明 结构共用的三种声明是一致的: void mian(){ //结构的声明...person p){ printf("姓名:%s\n", name); printf("年龄:%d", age);} 7、结构共用的区别 结构在创建时,按照结构成员变量占的内存分配...而共用则按照共用中,所占内存最大的变量分配内存。所以,共用变量只能单个使用,而结构可以所有变量一起使用。

1.8K40

C语言-枚举、共用

共用 前面章节学习了结构,结构里可以按顺序存放相同或者不同的数据类型,每个成员都有它对应的存储空间。...而共用和结构一样也可以按顺序存放相同或者不同数据类型,但是与结构的区别是,共用所有成员共用一个存储空间,存储空间由成员中存储空间最大的来决定。...结构定义示例: struct app { int a; char b; }; 结构:每个成员是占用独立的空间,结构成员之间会因为内存对齐产生间隙。...共用定义示例: union app { int a; int b; char c; }; **共用:**也称为联合体,采用内存覆盖技术,每个成员共用一个内存空间,开空间是以最大的成员开空间...共用的语法和使用方法(定义、成员变量的访问形式等等)与结构一样。

78120

C语言 | 共用概述

什么是C语言共用类型 一般形式 union 共用名 { 成员表列 }变量表列; 结构变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。...而共用变量所占的内存长度等于最长的成员的长度。 C语言引用共用变量的方式 只有先定义了共用变量才能引用它,但应注意,不能引用共用变量,而只能引用共用变量中的成员。...共用变量中起作用的成员是最后一次被赋值的成员,在对共用变量中的一个成员赋值后,原有变量存储单元中的值就取代。 共用变量的地址和它的各成员的地址都是同一地址。...不能对共用变量名赋值,也不能企图引用变量名来得到一个值。 C语言规定不能把共用变量作函数参数,但可以使用指向共用变量的指针作函数参数。...共用类型可以出现在结构类型定义中,也可以定义共用数组。

69130

C语言 | 共用概述

什么是C语言共用类型 一般形式 union 共用名 {   成员表列 }变量表列; 结构变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。...而共用变量所占的内存长度等于最长的成员的长度。 C语言引用共用变量的方式 只有先定义了共用变量才能引用它,但应注意,不能引用共用变量,而只能引用共用变量中的成员。...共用变量中起作用的成员是最后一次被赋值的成员,在对共用变量中的一个成员赋值后,原有变量存储单元中的值就取代。 共用变量的地址和它的各成员的地址都是同一地址。...不能对共用变量名赋值,也不能企图引用变量名来得到一个值。 C语言规定不能把共用变量作函数参数,但可以使用指向共用变量的指针作函数参数。...共用类型可以出现在结构类型定义中,也可以定义共用数组。

90100

9.9 C++共用

声明共用类型的一般形式为  union 共用类型名 {成员表列 }; 定义共用变量的一般形式为  共用类型名 共用变量名; C++允许在声明共用类型的同时定义共用变量,也可没有共用类型名而直接定义共用变量...C++共用变量的访问 C++不能引用共用变量,而只能引用共用变量中的成员。...union_1.temp;//引用共用变量中的整型成员temp union_1.character;//引用共用变量中的字符型成员character union_1.str;//引用共用变量中的双精度成员...C++共用类型的特点 共用变量的地址和它的各成员的地址都是同 一地址。 不能对共用变量名赋值。 不能企图引用变量 名来得到一个值。 不能在定义共用变量时对它初始化。...不能用共用变量名作为函数参数。  C++能够访问的是共用变量中最后一次被赋值的成员,在对一个新的成员赋值后原有的成员就失去作用。  9.9 C++共用 更多案例可以go公众号:C语言入门到精通

50888

共用变量的定义

共用变量的定义 共用变量可以采用以下3种形式定义。...1.先定义共用类型再定义共用变量 union data { short a; int b; double c; }; union data u1, u2; 2.在定义共用类型的同时定义共用变量...union data { short a; int b; double c; } u1,u2; 3.直接定义共用变量 union { short a; int b; double c; } u1,u2...; 上面分别用3种形式定义了共用变量u1和u2,下面以变量u1为例来分析共用变量的内存空间的分配情况。...从图中可以知道,共用与结构虽然在定义的语法形式上很相似,但是其内存分配方式与结构完全不同,任何时候内存空间中只能存放一个成员的数据,也就意味着,程序中任何时刻都只能使用共用变量的一个成员。

1K20

共用变量的使用

共用变量的使用 程序中一般不能直接把共用变量作为一个整体进行各种操作,也是通过成员运算得对共用变量的各个成员变量的引用来完成各种运算和操作。...引用共用变量成员的一般形式是: 共用变量名.成员名 使用访问上面共用变量u1的成员a采用如下方式: u1.a 如果两个共用变量使用同一个共用类型定义,则它们之间可以相互赋值,例如上面定义的两个变量...共用变量在定义时也可以进行初始化工作,其一般形式如下: union 共用型名 共用变量名={成员1初值}; 注意:共用变量进行初始化工作时,赋值符右边的花括号中只能是第一个成员的初始 值,并且花括号是不能省略的...d.c[]; d.c[]=x; printf("交换操作后:d.n=%d\n",d.n); return ; } 完整代码的程序运行结果: 运行结果分析:在本例中定义的共用类型变量...注意成员n和c的内存空间是共用的。 程序第11行给成员n赋值为十六进制整数0xFfF11对应的二进制是1111111100010001。第12行以十进制有符号数形式输出的结果是-239。

69310

8.4 共用和枚举类型

一、共用 (1)定义 一般形式 union 共用名 {成员表列 }变量表列; 结构变量所占用的内存长度等于最长的成员的长度 (2)共用的特点 ①同一个内存段可以用来存放几种不同类型的成员,...但在每一瞬间只能存放其中一个成员而不是几个 ②可以对共用变量初始化,但初始化表中只能有一个常量 ③共用变量中起作用的成员是最后一次被赋值的成员 ④共用变量的地址和它的各成员的地址都是同一地址 ⑤不能对共用变量名赋值...,也不能企图引用变量名来得到一个值 ⑥以前的C规定不能把共用变量作为函数参数,但可以使用指向共用变量的指针作函数参数 ⑦共用类型可以出现在结构类型定义中,也可以定义共用数组 二、枚举 (1)定义

4133129

9.5 C语言共用类型

01什么是共用类型 1、一般形式 union 共用名 { 成员表列 }变量表列; 2、结构变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。...而共用变量所占的内存长度等于最长的成员的长度。 02 引用共用变量的方式 1、只有先定义了共用变量才能引用它,但应注意,不能引用共用变量,而只能引用共用变量中的成员。...3、共用变量中起作用的成员是最后一次被赋值的成员,在对共用变量中的一个成员赋值后,原有变量存储单元中的值就取代。 4、共用变量的地址和它的各成员的地址都是同一地址。...5、不能对共用变量名赋值,也不能企图引用变量名来得到一个值。 6、以前的C规定不能把共用变量作函数参数,但可以使用指向共用变量的指针作函数参数。...7、共用类型可以出现在结构类型定义中,也可以定义共用数组。 C语言 | 冒泡排序比较大小 更多案例可以go公众号:C语言入门到精通

7232725

C语言知识总结——宏,枚举,结构共用

这种几个不同的变量共同占用一段内存的结构,在C语言中 以关键字union声明的一种数据结构,这种被称作“共用”类型结构,也叫联合体。 “联合”与“结构”有一些相似之处。但两者有本质上的不同。...您可以根据需要在一个共用体内使用任何内置的或者用户自定义的数据类型。 共用占用的内存应足够存储共用中最大的成员。...注意:1、不能把共用变量作为函数参数,也不能是函数带回共用变量,但可以使专用指向共用变量的指针 2、所有成员占用同一段内存,修改一制个成员会影响其余所有成员。...共用的访问:共用访问成员的值时一般使用.运算符,指针时用->运算符(和结构是一样的) typedef union _node { int a; double b; char c; union...共用的作用: 1、节省内存,有两个很长的数据结构,不会同时使用,比如一个表示老师,一个表示学生,如果要统计教师和学生的情况用结构的话就有点浪费了!

2.2K40

【编程经验】共用的定义和使用

共用的定义和使用 在 C 语言中,允许几种不同类型的变量存放到同一段内存单元中,也就是使用覆盖技术,几个变量互 相覆盖。这种几个不同的变量共同占用一段内存的结构,被称为共用类型结构,简称共用。...数据类型 成员名 n; }变量名表列; 只有先定义了共用变量,才能在后续的程序中引用它。不能直接引用共用变量,而只能引用共用 变量中的成员。 引用方法如下: 共用变量名.成员名 。...共用变量中起作用的成员是最后一次存放的成员,在存入一个新成员后,原有成员就失去作用。 共用变量的地址和它的各成员的地址都是同一地址。...不能把共用变量作为函数参数, 也不能是函数返回共用变量, 但可以使用指向共用变量的指针。 共用类型可以出现在结构类型的定义中,也可以定义共用数组。...反之,结构也可以出现在共 用类型的定义中,数组也可以作为共用的成员。

49120
领券