1.C++的基本概念:
内存分区:(1)堆:由程序员手动分配和释放,由malloc(c语言)或new(C++语言)来分配,free(c语言)或delete(C++语言)释放。若程序员不释放,程序结束时由系统释放。(2)栈:由编译器自动分配和释放,存放函数的参数值、局部变量的值等。(3)全局(静态)存储区:存放全局变量和静态变量。包括DATA段(全局初始化区)与BBS段(全局未初始化区)。其中,初始化的全局变量和静态变量存放在DATA段,未初始化的全局变量和未初始化的静态变量存放在BSS段。程序结束后自动释放。其中BSS段的特点是:在程序执行之前BSS段会自动清0.
2.C风格字符串
(1)字符串常量:用双引号括起来。
(2)末尾添加了‘\0'的字符串。
3.动态声明一维数组:int *a=new int[n];当数组使用完毕,需要使用:delete []a;释放内容空间。
4.动态声明二维数组:int **a=new int *[m];
for(int i=0;i<m;i++)
a[i]=new int[n];
上述相当于产生了一个二维数组a[m][n];
释放时的代码如下所示:
for(int i=0;i<m';i++)
delete []a[i];
delete []a;
5.所谓指针数组是指一个数组里面装着指针,也即指针数组是一个数组。int *a[10]; 所谓数组指针是指一个指向数组的指针,它其实还是指针,只不过它指向整个数组。如:int (*p)[10]表示一个指向有10个元素整型数组的指针,其中由于[]的优先级高于*,所以必须必须添加(*p)。