qfedu-cpp-level/day1/d8.cpp

27 lines
786 B
C++
Raw Permalink Normal View History

// 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;
}