随笔分类 - C语言
摘要:首先了解什么是二叉查找树:给定n个互异的关键字组成的序列s=<k1,k2,…,kn>,且关键字有序(k1<k2<…<kn),我们想从这些关键字中构造一棵二叉查找树。对每个关键字ki,一次搜索搜索到的概率为pi。可能有一些搜索的值不在K内,因此还有n+1个“虚拟键”d0,d1,…,dn,他们代表不在K
阅读全文
摘要:1、表示“域操作符” 例如:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时, 就要写成void A::f(),表示这个f()函数是类A的成员函数。 2、直接用在全局函数前,表示是全局函数 例如:在VC里,你可以在调用API 函数里,在AP
阅读全文
摘要:一、用const修饰函数的参数 函数参数类型前加const指明该参数为常量,在函数内部不可改变。 void func(const int x) { //x不可以在内部进行赋值等操作. } 注:当参数为引用传递或者指针传递作为输出时,都不能加const 二、用const修饰函数的返回值## 函数返回时
阅读全文
摘要:一、string.h中字符串处理函数 在头文件<string.h>中定义了两组字符串函数。第一组函数的名字以str开头;第二组函数的名字以mem开头。只有函数memmove对重叠对象间的拷贝进行了定义,而其他函数都未定义。比较类函数将其变量视为unsigned char类型的数组。 1 strcpy
阅读全文
摘要:argc和argv怎么使用arg表示argument,也就是参数。c表示count,也就是个数。 1.argc为整数 2.argv为指针的指针(可理解为:char **argv or: char *argv[] or: char argv[][] ,argv是一个指针数组) 注:main()括号内是
阅读全文
摘要:一、指针概念 指针:指针本身是一个变量,存储的是值得地址。 间接访问:通过一个指针访问它所指向的地址的过程,操作符 * 。 二、非法指针 int *a; *a = 12; 这段代码是错误的,由于a未被初始化,无法预测值12将存储的地方,若a指向非法地址,程序出错。 针对未初始化或释放不用的指针可以置
阅读全文
摘要:除了类属关系运算符"."、成员指针运算符".*"、作用域运算符"::"、sizeof运算符和三目运算符"?:"以外 C++中的所有运算符都可以重载 但是=、()、[]、->这四个不能重载为类的友元函数。
阅读全文
摘要:什么是文件 与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。文件通常具有点+三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以KPEG格式保存并且文件扩展名为.jpg)。 将数据放入文件中,相比代码程序中堆栈上的数据,其优点在于可以随时做
阅读全文
摘要:三种预处理包括:宏定义、文件包含、条件编译。 宏定义是C语言提供的三种预处理功能的其中一种。宏定义和操作符的区别是:宏定义是替换,不做计算,也不做表达式求解。 宏定义又称为宏代换、宏替换,简称“宏”。 宏定义 又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就
阅读全文
摘要:变量分类 作用域分类 局部变量(默认是自动局部变量)1. 定义:在一个函数内部定义的变量(包括函数形参)2. 有效范围:一直在本函数有效3. 变量存储:栈内存,函数结束之后自动销毁4. 静态局部变量:存储在静态存储区,作用域依旧在函数体内部。每次对其修改都会被保存下来。 局部变量出现在一个作用域内,
阅读全文
摘要:广义表的定义 线性表 线性表指的是n≥0个元素a1, a2, a3…的有序数列,并且线性表的元素具有原子性,即结构上是不可分割的一个整体。 广义表(Generalized list) 而广义表则是线性表的一种扩展延伸。相对于线性表,广义表最大的特点在于其元素既可以是一个确定的类型,同时也可以是另一个
阅读全文