1. C 中的数组:
数组是通过存储在连续内存位置的通用名称访问的相似数据项的集合。可以使用索引来访问数组的元素。它们可用于存储原始数据类型,例如 int、float、double、char 等,但所有元素必须具有相同的数据类型。下面是一个数组的生动表示。
数组的声明:
datatype array_name[size]
2. C 中的联盟:
联合是一种用户定义的数据类型,允许在同一内存位置存储异构元素。联合的大小是联合中最大元素的大小。下面是工会的生动表现。
工会声明:
union name { datatype element; datatype element; };
数组和联合的区别:
ARRAY | UNION |
---|---|
相同数据类型的元素的集合。 | 异构数据类型元素的集合。 |
数组可以是一维或二维的。 | 联合没有类型。 |
每个元素都分配有一个特定的内存位置。 | 这些元素共享内存位置,其大小等于并集最大元素的大小。 |
所有成员都可以在给定时间包含值。 | 在给定时间只有一个成员可以包含值。 |
由于所有成员都分配了不同的内存位置,因此内存使用效率不高。 | 有效利用内存,因为所有成员不需要单独的内存位置。 |
可以使用索引来访问数组元素。 | 不能使用索引访问联合的元素。 |
用法: 数据类型array_name[大小] |
句法: { 数据类型变量1;数据类型变量2; }; |
相关用法
- C语言 Atoi()用法及代码示例
- C语言 Getchar()用法及代码示例
- C语言 abs()用法及代码示例
- C语言 printf() and scanf()用法及代码示例
- C语言 strchr()用法及代码示例
- C语言 strcpy()用法及代码示例
- C语言 strcat()用法及代码示例
- C语言 宏 assert()用法及代码示例
- C语言 isdigit()用法及代码示例
- C语言 islower()用法及代码示例
- C语言 setlocale()用法及代码示例
- C语言 cos()用法及代码示例
- C语言 cosh()用法及代码示例
- C语言 sin()用法及代码示例
- C语言 sinh()用法及代码示例
- C语言 tanh()用法及代码示例
- C语言 exp()用法及代码示例
- C语言 ldexp()用法及代码示例
- C语言 log()用法及代码示例
- C语言 log10()用法及代码示例
- C语言 pow()用法及代码示例
- C语言 sqrt()用法及代码示例
- C语言 ceil()用法及代码示例
- C语言 fabs()用法及代码示例
- C语言 floor()用法及代码示例
注:本文由纯净天空筛选整理自aktmishra143大神的英文原创作品 Difference between Array and Union in C。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。