C语言联合和结构的区别(c语言中三种基本结构)

C语言联合和结构的区别(c语言中三种基本结构)

首页维修大全综合更新时间:2025-11-23 07:21:12

C语言联合和结构的区别

联合是C语言中可用的特殊数据类型, 它允许在同一内存位置存储不同的数据类型。你可以定义具有多个成员的联合, 但是在任何给定时间只能有一个成员包含一个值。联合提供了一种有效的方式, 可以将同一内存位置用于多种用途。

结构是C语言中可用的用户定义数据类型, 它允许组合不同种类的数据项。结构用于表示记录。要定义结构, 必须使用struct声明。 struct语句定义一种新的数据类型, 该数据类型具有一个以上或等于一个成员。

结构和联合有下列区别:

1. 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻,

联合中只存放了一个被选中的成员, 而结构的所有成员都存在。

2. 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存

在了, 而对于结构的不同成员赋值是互不影响的。

#include<iostream>

#include<stdio.h>

using namespace std;

union{ /*定义一个联合*/

int i;

struct{ /*在联合中定义一个结构*/

char first;

char second;

}half;

}number;

int main()

{

number.i=0x4241;

/*联合成员赋值*/

printf("%c%c/n", number.half.first, number.half.second);

number.half.first='a'; /*联合中结构成员赋值*/

number.half.second='b';

printf("%x/n", number.i);

int a;

cin>> a;

大家还看了
也许喜欢
更多栏目

© 2021 3dmxku.com,All Rights Reserved.