首页 > 代码库 > C++——重点复习

C++——重点复习

1.strlen函数总是假定其参数字符串以NULL结束,若字符串不是以NULL结束,计算的结果将不可预料。

2.多个表达式可以由逗号分开,每个表达式的值分别计算,但整个表达式的值是最后一个表达式的值

3.二维数组转化为一维数组后,二维数组元素a[x][y] = b[x * 列数 + y],其中b是转化后的一维数组。

4.指针数组是一个装有指针的数组,定义为: int *a[10],数组指针是一个指向数组的指针,定义为: int (*a)[10]。

5.在C语言中,将数组作为函数的参数,总是会引发decay(衰退)问题,丢失数组的长度信息

6.顺序表插入算法、删除算法、查找算法的平均时间复杂度为O(n)。

7.子串是字符串中任意个连续的字符组成的子序列,并规定空串是任意串的子串;子序列则不要求字符连续,但顺序与其在主串中相一致。

8.strcpy与memcpy的一些区别:

  1) 复制的内容不同,strcpy只能复制字符串,memcpy可以复制任意内容。strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。而memcpy对于需要复制的内容没有限制,因此用途更广。

  2) 复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符‘\0‘时才结束,所以容易溢出。而memcpy则是根据第三个参数决定复制的长度。

  3) 用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时,则一般用memcpy。

9.串的模式匹配中,BF算法(最基础算法)的时间复杂度为O((m - n + 1) * n),而KMP算法的时间复杂度为O(m + n)。(其中,m、n代表主串和子串的长度)。

10.

C++——重点复习