// C++ 中不同类型的变量之间赋值时，需要明确的使用强制类型转换
#include <iostream>
#include <cstdlib>
#include <cstring>

using namespace std;

typedef enum COLOR
{
    GREEN = 1,
    RED = 5,
    BLUE // 6
} color;

int main()
{
    int a = 129;
    char b = a;                       // 隐式类型转换(大类型转换为小类型)(不安全)
    cout << "b = " << (int)b << endl; // -127

    // C++ 中必须使用强制类型转换，明确数据类型
    char *p = (char *)malloc(32); // malloc 返回值是 void *，需要强制类型转换
    // char *p = malloc(32); // malloc 返回值是 void *，需要强制类型转换
    strcpy(p, "hello world");
    cout << "p = " << p << endl; // p 为指针，输出的是地址的内容
    return 0;
}