系列二

来源:互联网 发布:vmware10 mac补丁包 编辑:程序博客网 时间:2024/06/02 13:28
c函数库中所有函数在C++中都能使用
函数声明
参数列表不能图省事用int x,y,z
函数定义
c需要参数有名字,c++允许没有名字
f()在c中表示不确定的参数,c++中表示不带参数
f(void)在c和c++中都表示不带参数
c语言要求在块起始处定义将出现的所有变量,c++运行在用到的地方才定义
基本数据类型,说明符(Specifier),修饰符
可以在基本数据类型基础上扩展新类型:如 unsigned long & int
1. 基本内部类型(char, int, long, double),标准并不直接规定每个内部类型必须有多少位,只是规定该类型所能存储的最大值和最小值(间接地可以转化为对位数的限制)
2. 说明符用于改变基本内部类型的含义并能把它们扩展成为一个更大的集合。short, long改变基本类型的最大值和最小值;unsigned,signed只指定符号位的使用方式
3. 说明符并不直接改变一个基本 类型的bit数
4. 指针,引用可以视为另一种修饰符,放在基本数据类型前面:
带符号数(signed)在做移位时可能出现未定义操作,所以,需要经常对字节(内存)进行操作话,多用usigned数
全局变量在所有函数外部定义,程序的所有部分都可以使用(其他文件可以用extern的形式使用)
局部变量也称自动变量(自动分配,自动消失)
静态变量局部于当前函数(如果用来定义函数内变量)或者局部于当前文件(如果用来定义当前文件中的全局变量)
静态变量在程序的整个生命周期内存在,可以用作函数的局部变量,函数退出后仍然存在,第一次调用函数时初始化
外部变量
extern int x;表明该变量在别处才定义,此处仅是声明
内部连接表明为变量或函数体创建的存储空间只对当前编译的文件可见,别的文件即使用了同名的全局标识也不会被连接器视为冲突,内部连接由关键字static指定
外部连接表明为变量或函数体创建的存储空间对所有被编译的文件可见。外部连接通过extend关键字声明,函数之外的全局变量,函数名缺省是采用外部连接,除非用static指定为内部连接。
函数的局部变量只是临时存在栈中,对连接器不可见,也不需要连接

c语言转换运算符
float a = float(200)
相当于 float a = (float)200;
c++转换符
static_cast<long>(i);
sizeof运算符
对类型要加括号 sizeof (double)
对变量无需加括号 sizeof x;
数组和指针的对应关系
int main(int argc char* argv[])
int main(int argc char** argv)
数组名可以看做数组起始处的只读指针,数组标识符可以赋给对应的一个指针,允许用该指针遍历数组
如果申明一个函数的参数是数组,实际上申明的是一个指针
数组作为函数参数的时候,必定有另一个参数作为数组的大小
指向数组的指针可以进行++,–,+,  -运算,使得指针在数组元素里移动相应的offset
两个指针也可相减,可以得到两个指针相隔的元素个数
字符串到数值的转换
atoi,atol,atof等
#include <cstdlib>
char str[] = “1234″;
int i = atoi(str);
原创粉丝点击