1. C#
类型体系包含下列几种类别:值类型、引用类型、指针类型。值类型的变量存储数据,而引用类型的变量存储对实际数据的引用。 引用类型也称为对象。 指针类型仅可用于
unsafe 模式。通过装箱和取消装箱,可以将值类型转换为引用类型,然后再转换回值类型。 除了装箱值类型外,无法将引用类型转换为值类...
分类:
其他好文 时间:
2014-05-16 00:11:52
阅读次数:
435
PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意思。信号量是最早出现的用来解决进程同步与互斥问题的机制,包括一个称为信号量的变量及对它进行的两个原语操作。
信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关...
分类:
其他好文 时间:
2014-05-16 00:07:15
阅读次数:
344
const限定符全解
一、const 修饰普通变量
int const a = 500;
const int a = 600;
上述两种情况相同,都是声明一个const型的变量,它们的含义是:变量a的值不可改变!
二、const 修饰 指针
int b = 500;
const int * a = &b;...
分类:
编程语言 时间:
2014-05-15 19:57:22
阅读次数:
415
从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。
而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至.....
分类:
编程语言 时间:
2014-05-15 18:10:09
阅读次数:
314
1,指针作为函数参数,指针可以指向内存中任意一个数据,通过间接引用能够在函数内修改函数外甚至系统中的数据;为了避免指针作为函数参数导致数据被意外修改,我们可以使用const来保护指针所指向的数据;2,指针作为函数返回值,同别的数据类型int,float一样,指针也能够作为函数的一种返回值类型,把返回...
分类:
其他好文 时间:
2014-05-15 17:36:11
阅读次数:
337
我们先来看一张之前整理过的一张二叉树的链式存储结构
1、每个数据域,都有2个指针域,分别指向该节点的左孩子、右孩子,但是每个节点前驱、后继,要知道的话需要遍历整棵树,这在时间上耗费很大。
2、另外,在叶子节点中,我们可以看到如图,每个节点都会浪费2块存储空间,N个节点的二叉树,2N个指针域,连接线为2N-1,那么会有2N-(N-1) = N+1个指针域浪费掉。
为了优化以上2...
分类:
其他好文 时间:
2014-05-15 13:30:19
阅读次数:
283
面向对象编程--句柄类与继承引言: C++中面向对象编程的一个颇具讽刺意味的地方是:不能使用对象支持面向对象编程,相反,必须使用指针或引用。void get_prices(Item_base object,
Item_base *pointer,
Item_base &reference)
{
//需要根据指针或引用实际所绑定...
分类:
编程语言 时间:
2014-05-15 08:19:33
阅读次数:
359
节点形态:
存储结构:
每个节点都包含一个标志域,如果为0(即原子),那么仅含一个值域,如果是1(列表),那么说明该节点包含两个指针域。
需要注意的是求广义表长度的操作,其实计算的是根节点及其兄弟的个数,比如图2中广义表的长度为2,图3中广义表的长度为4。
深度的定义方式是递归式的,定义空表深度为1,原子深度为0,广义表的深度...
分类:
其他好文 时间:
2014-05-15 07:57:32
阅读次数:
331