您的位置:首页 > 编程语言 > C语言/C++

结构,联合和枚举

2017-07-26 10:09 183 查看
C的结构

C的联合

C的枚举

C++的结构

•声明或定义结构型变量,可以省略struct关键字

•可以定义成员函数,在结构体的成员函数中可以直接访问该结构体的成员变量,无需通过“.”或“->”

struct User
{
char name[256];
int age;
void who (void)
{
cout << "我是" << name << ",今年" << age << "岁。" << endl;
}
};

User user = {"张飞", 25}, *puser = &user;
user.who ();
puser->who ();


C++的联合

•声明或定义联合型变量,可以省略union关键字

•与其说匿名联合是一种类型定义,倒不如说是一种对多个变量在内存中布局方式的表达

union
{
int n;
char c[sizeof (n)];
};
n = 0x12345678;
for (size_t i = 0; i < sizeof (c); ++i)
printf ("%#x ", c[i]); // 0x78 0x56 0x34 0x12
printf ("\n");


C++的枚举

•声明或定义枚举型变量,可以省略enum关键字

•C++中的枚举是一种独立的数据类型,整型不能隐式转换为枚举型

enum Color { RED, YELLOW, BLUE, WHITE, BLACK } color;

color = RED;
color = 5; // 错误
color = 0; // 错误

void foo (Color color);
foo (RED);
foo (5); // 错误
foo (0); // 错误
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  结构 c语言