头文件:<stdio.h>中定义NULL的值为0
char* aa[2] = {“abcd”, “ABCD”}:
存放的是两个字符串的首地址,aa[0]存放的是"abcd"的首地址,aa[1]存放的是"ABCD"的首地址,他存放地址指向的字符串的长度不定,可以是任意长度
判断double类型的apple为0
(apple<0.0001)&&(apple>-0.0001)
指针访问比[]数组访问更快
因为数组访问需要通过对首地址进行加减来进行定位
C++ STL(标准模板库)
三大组件:
容器:栈、队列、链表
算法:初始化、排序、搜索、转换
迭代器:遍历
#define max 100
定义max的值为常量100
#define PI 3.14159f 的f
不加f默认3.14159是double
const float PI=3.14159 时将double类型转为float数字会变化
重载运算符和拷贝构造函数的区别:
拷贝构造函数:创建新的对象并赋值
重载运算符:两个对象已构造,只是赋值
类中重载运算符引用类应用const保证类不受影响
eg. operator(const Matrix &m)
typedef struct
{
……
}*p;
指向p中内容应用->
声明结构体指针,手动开辟空间
typedef struct
{
……
}Node;
指向Node中内容应用.
声明结构体
A* pa = new A(3);
类型* 名称= new 类型(n); //开辟一个类型指针赋值给a,并地址中的内容赋值为n。
类型* 名称= new 类型[长度]; //开辟一个大小为长度的整型数组空间。
结构体内数组的new我还没搞明白,我基本上是直接拆了当单个new