一、数组
1.1 C语言风格字符串与字符数组
(1)字符串常量:以双引号括起来的字符序列是字符串常量,便宜一起自动在末尾添加一个空字符;
例:字符常量'A'表示单个字符A,然而“A”是字符串常量,表示字母A和空字符(null)两个字符;
(2)末尾添加了'\0'的字符数组
char ca1[]={'c','+','+'}; | 末尾没有null字符 | 长度为3 |
char ca2[]={'c','+','+','\0'}; | 末尾显示地添加null字符 | 长度为4 |
char ca3[]="c++"; | 末尾自动添加null字符 | 长度为4 |
1.2 二维数组的动态声明
int**a=new int *[m];
for(int i=0;i<m;i++)
a[i]=new int[n];
相当于产生一个a[m][n]的二维数组,只能a[i][j]或者*(*(a+i)+j)访问数组元素
1.3 指针数组与数组指针
(1)指针数组,是指一个数组里面装着指针,也即指针数组是一个数组。一个有10个指针的数组,其中每个指针指向一个整型数,次数组定义为:
int *a[10];
(2)数组指针,是指一个指向数组的指针,它其实还是指针,只不过它指向整个数组。一个指向有10个元素的整型数组指针定义为:
Int (*p)[10];
1.4数组的应用
1.4.1 线性表的顺序存储
线性表的顺序存储又称为顺序表。其中,需分清线性表与顺序表的概念。线性表的概念是一种逻辑结构,表示元素之间一对一的相邻关系,而顺序表和链表是存储结构。两者属于不同层面的概念。