为什么使用二级指针 ???可以用一级指针,但是需要用一级指针的引用才行,一级指针的引用和二级指针一回事。比如说你有个数组指针 int *num,这个num现在指向数组第3个元素, 你在函数调用的时候,如果在函数参数传入num的话,你在函数调用里面对num进行++操作,只会影响到这个函数里面,这个函数 ...
分类:
其他好文 时间:
2019-08-22 13:23:16
阅读次数:
73
@:取址运算符; var int:integer; p:^integer; new(P); int:=24; p:=@int; dispose(P); ^:指针的引用解析操作符; var pint:^integer; new(pint); showmessage(inttohex(integer(@ ...
AVL树是非常重要的一种数据结构,这里实现了在AVL树中的插入操作,包括插入后整个树的自平衡。 这里有几点值得注意的地方: 1).左旋L_Rotate与右旋R_Rotate操作: 这两个操作传递进来的参数是以TreeNode*&的形式传递进来的,也就是说传递的是指针的引用,效果等价于传递二级指针 如 ...
分类:
其他好文 时间:
2019-08-06 21:29:16
阅读次数:
110
/***auto 会去掉顶层const 和 & 而decltype 不会***/ //什么是顶层? const int x=0, *ptr = x; auto i = ptr; //i is int * decltype(i) is const int * int i = 42, *p = &i, ... ...
分类:
其他好文 时间:
2019-05-18 15:53:29
阅读次数:
119
一、指向数组的指针 代码示例1: 1 int main() 2 { 3 int a[10]={0,2,4,6,8,10,12,14,16,18}; 4 int *p; 5 for(p=&a[0];p<&a[0]+10;p++) 6 printf("%d ",*p); 7 } 代码示例2: int a ...
分类:
编程语言 时间:
2019-01-13 13:09:05
阅读次数:
266
数组指针的引用: int a[10]; int * const &b=a; int (&b)[10]=a 在把数组指针的引用传进去,也是以这样的格式,而且参数名可以和全局变量同名 引用不能为空,指针可以为空 “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指 ...
分类:
编程语言 时间:
2018-12-26 23:06:30
阅读次数:
408
[toc] 什么是GC 标记 压缩算法 需要对标记清除和GC复制算法有一定了解 GC标记 压缩算法是由 标记阶段 和 压缩阶段 构成。 标记阶段和标记清除的标记阶段完全一样。之后我们要通过搜索数次堆来进行压缩。 Lisp2 算法的对象 Donald E.Knuth 对象结构如图示: Lisp2 算法 ...
分类:
其他好文 时间:
2018-11-26 10:22:10
阅读次数:
253
实例一: 上面这个程序出现的问题是: GetMemory不能动态传递内存,str一直是NULL,strcpy(str,”hello”)会使得程序奔溃 如果要使得GetMemory能够动态传递内存有两种方法可是现实,第一种是用指针的指针来实现,另一种是用指针的引用来实现。 先说第一种,用指针的指针来实 ...
分类:
其他好文 时间:
2018-10-27 13:13:29
阅读次数:
135
#include <stdio.h>#include <stdlib.h>#include <string.h> void GetMemory(char *p){ //char *p = str, p = str(值传递,跟str无关,内存分配失败) p = (char*)malloc(100);} ...
分类:
其他好文 时间:
2018-09-25 01:17:51
阅读次数:
210
删除结点1之后,下一个删除的就是3了。 程序: 结果如下: 第一个要删除的结点是1,node是一个引用,指向1这个结点,也就是0结点中的孩子指针的引用,node = node->child执行完之后,0结点里面的孩子指针就指向了3,也就是node这个指针指向了3,这个node此时还是0结点中的孩子指 ...
分类:
其他好文 时间:
2018-09-24 18:29:16
阅读次数:
163