【带头学C++】 ----- 1.基础知识 ---- 1.20 Typedef 为已有的类型取别名

1.20 Typedef 为已有的类型取别名

1.typedef语法格式

在 C++ 中,可以使用 typedef 关键字来为已有的类型创建一个别名。这对于提高代码可读性、简化类型声明以及增加代码的可维护性非常有用。

下面是 typedef 的语法格式:

typedef 旧类型名 别名;

2.使用typedef为已有类型取别名

示例展示了如何使用 typedef 为已有的类型创建别名:

typedef int MyInt;  // 将 int 类型命名为 MyInt

typedef double Distance;  // 将 double 类型命名为 Distance

typedef char* CString;  // 将 char* 类型命名为 CString

typedef void (*FuncPtr)(int);  // 将函数指针类型命名为 FuncPtr

typedef struct {
    int x;
    int y;
} Point;  // 将匿名结构体定义为名为 Point 的类型

typedef std::vector IntVector;  // 将 std::vector 类型命名为 IntVector

通过为已有类型创建别名,我们可以使用别名来声明变量、函数参数、返回值类型等,这样可以增加代码的可读性和易于理解性。例如:

MyInt num = 42;  // 使用别名 MyInt 声明变量
Distance dist = 3.14;  // 使用别名 Distance 声明变量

void PrintString(CString str) {
    // 使用别名 CString 定义函数参数
    // ...
}

FuncPtr func = nullptr;  // 使用别名 FuncPtr 声明函数指针变量

Point p;  // 使用别名 Point 声明结构体变量

IntVector vec;  // 使用别名 IntVector 声明向量容器变量

3.typedef使用步骤

注意:不能创建新类型,实际上就是将长且复杂的类型名,取一个精简的类型名。

typedef作用的步骤
1、先用已有的数据类型定义一个普通的变量
2、用新的别名替换原变量名
3、在整个表达式最前方加关键字:typedef

1.案例,将int arr[3];取别名

int arr[3];  //第一步    找到你需要取别名的类型

typedef int num[3];//取别名 

 num arr;//用新的别名创建一个arr

1.21 转义字符

1. \和某些字符 结合 产生新的字符含义 就叫转义字符

0== ASCII 为0
== 换行符n'
t'== tab缩进符
r==回到行首符号
==发出警报a'

2 八进制转义

ddd’每个d的范围必须是0-7 3个d表示最多识别3位八进制数据以下字符描述正确的是  A

A:  123'    B:18     C:' 1234'       D:183

3 十六进制转义

\xhh'每个h的范围0-9 a-f 2个h表示最多识别2位十六进制以下字符描述正确的是   BD

A:' af'    B:' 123'     C:  x3df'      D:  xab

4.常见的转义字符符号

在 C++ 中,转义字符用于表示一些特殊字符,它们以反斜线 \ 开始,并在后面跟着一个字符。下面是一些常见的 C++ 转义字符:

  • \\:反斜线
  • \':单引号
  • \":双引号
  • \n:换行符
  • \r:回车符
  • \t:制表符
  • \b:退格符
  • \f:换页符
  • \a:警报符(输出提示音)
  • \v:垂直制表符
  • \0:空字符(以 NUL 字符表示)

这些转义字符可以嵌入到字符串常量中,以表示特定的字符或执行特定的操作。例如:

cout << "Hello\tWorld\n";  // 输出:Hello   World(使用制表符和换行符)
cout << "She said, \"Hello!\"\n";  // 输出:She said, "Hello!"(使用双引号)
cout << "C:\\Program Files\\MyApp\n";  // 输出:C:\Program Files\MyApp(使用反斜线)
cout << "Beep!\a\n";  // 输出:Beep!(并发出警报音)

需要注意的是,在 C++11 及更高版本中,还引入了一种称为原始字符串字面量 (raw string literals) 的特殊语法,可以避免使用转义字符。原始字符串字面量以 R"(" 和 ")“ 开始和结束,并且可以在其中包含任何字符而不需要转义。例如:

cout << R"(This is a raw string literal containing "double quotes" and \backslashes\.)" << endl;
// 输出:This is a raw string literal containing "double quotes" and \backslashes\.

 1.22 类型转换

 

你可能感兴趣的:(C++从基础到抗大旗,1024程序员节,开发语言,c++,笔记,c语言)