简介:提供在C++中使用C风格的背景知识
3.1 创建函数
在C++中,函数定义的参数列表中,可以使用未命名的参数。当然因为它未被命名,所以不能在函数体中使用它。
C++函数原型必须指明函数返回值,C中可以省略返回值,表示默认为 int 型。
可变参数函数: void fun(int a, ...);
3.2 执行控制语句
goto :可以跳出多层for语句或while语句。
3.3 运算符简介
3.4 数据类型简介
数据类型定义了使用存储空间的方式。通过定义数据类型,告诉编译器怎样创建一片特定的存储空间,以及怎样操纵这片存储空间。
系统头文件 limits.h 和 float.h 中定义了不同的数据类型可能存储的最大值和最小值。
指针的作用:
1)修改外部对象
2)为了获取灵活的编程技巧
C和C++中的指针的作用基本上是一样的,但是C++增加了另一种给函数传递地址的途径:引用传递(pass-by-reference)。
引用和指针的不同之处在于:带引用的函数调用比带指针的函数调用在语法构成上更清晰。
如果声明指针是void*,它意味着任何类型的地址都可以间接引用这个指针。
我们可以使用void指针,但不可以使用void引用。
3.5 作用域
C++(不是C)允许在作用域的任意地方定义变量。
通常可以认为在while,if,switch语句中定义变量的能力是为了完备性,但是唯一使用这种变量定义的地方可能是在for循环中。
3.6 指定存储空间分配
如果想使局部变量的值在程序的整个生命周期仍然存在,我们可以定义函数的局部变量为static,并赋初值。
static变量的优点是在函数范围之外它是不可用的。
可以使用关键字static特地强制它们具有内部连接,也可以在定义时使用关键字extern显式指定标识符具有外部连接。
预处理器并不识别作用域。
3.7 运算符及其使用
3.8 创建复合类型
在C++中对枚举的类型检查比在C中更严格。
如果声明一个数组为函数参数,实际上真正声明的是一个指针。
parameter和argument的区别:
1. parameter是指函数定义中参数,而argument指的是函数调用时的实际参数。
2. 简略描述为:parameter=形参(formal parameter), argument=实参(actual parameter)。
3. 在不很严格的情况下,现在二者可以混用,一般用argument,而parameter则比较少用。
cout 和 std:cout 的区别
3.9 调试技巧
#define PR(x) cout << #x " = “ << x << "\n";
3.10 函数地址
void (*funcPtr) (); 定义一个指针指向一个无参无返回值的函数。
void *funcPtr (); 声明一个函数,该函数返回值是一个 void类型的指针。