结构体为每个成员保留单独的内存段,union
为其最大成员保留单个内存空间。使用关键字union
创建联合体。
以下代码为电话簿创建联合体定义。
union phoneBook {
char *name;
char *number;
char *address;
};
通过点(.
)运算符访问联合体成员。
#include <stdio.h>
union phoneBook {
char *name;
char *number;
char *address;
};
struct magazine {
char *name;
char *author;
int isbn;
};
int main()
{
union phoneBook aBook;
struct magazine aMagazine;
printf(\nUnion Details\n);
printf(Address for aBook.name: %p\n, &aBook.name);
printf(Address for aBook.number: %p\n, &aBook.number);
printf(Address for aBook.address: %p\n, &aBook.address);
printf(\nStructure Details\n);
printf(Address for aMagazine.name: %p\n, &aMagazine.name);
printf(Address for aMagazine.author: %p\n, &aMagazine.author);
printf(Address for aMagazine.isbn: %p\n, &aMagazine.isbn);
} //end main
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。