先上代码:再进行总结知识: 上段代码中,包含了几个重要的方面: 1 s1,s2,s3为结构体变量名,通过结构体变量名来访问结构体成员的方法是:结构体变量名.(这里有点)结构体成员。 2 point 为结构体指针 变量名,该变量存储了结构体变量s2的地址,即本质上,point指向了s2这个结构体。因此 ...
分类:
编程语言 时间:
2018-09-24 21:15:01
阅读次数:
184
实现对含有n个元素的单链表的逆转,要求运行时间O(n),除了链表本身所需空间外,只使用固定大小的存储空间。(此题来自《算法导论》10.2 7) 从头元素开始循环,将原本指向其后继节点的指针指向其前驱节点,直到循环至哨兵为止。整个过程额外需要三个指针变量的空间,分别保存当前节点及其前驱、后继。 下面是 ...
分类:
其他好文 时间:
2018-09-24 12:50:28
阅读次数:
172
int *p1[5] 优先级:[] > * p1被定义为5个元素的数组 所以: 结论:指针数组是一个数组,每个数组元素存放一个指针变量 指针数组的初始化: 指向字符指针的数组: int (*p2)[5] 数组指针 因为优先级是一样的,所以从左到右理解 结论:数组指针是指针,它指向的是一个数组 PS: ...
分类:
编程语言 时间:
2018-09-22 17:02:36
阅读次数:
136
指针就是地址 指针变量就是存放地址的变量 char *pa,说明地址pa存放的数据类型是char型的 int *pb,说明地址pb存放的数据类型是int型的 取值运算符和定义指针用的是同一个符号*,属于符号的重用 在不同地方有不同的用法,在定义的时候属于定义一个指针变量,其他地方属于取地址的值 a= ...
分类:
其他好文 时间:
2018-09-22 14:45:04
阅读次数:
185
1、数组元素的指针 一个变量有地址,一个数组包含若干元素,每个数组元紫都在内存中占用存储单元,它们都有相应的地址。指针变量既然可以指向变量,当然也可以指向数组元素(把某元素的地址放到一个指针变量中)。所谓数组元索的指针就是数组元素的地址。引用数组元素可以用下标法(如a[3]),也可以用指针法,即通过 ...
分类:
编程语言 时间:
2018-09-18 22:45:18
阅读次数:
191
1、 智能指针重构 需求:使用智能指针 替换单链表 中的原生指针 将原生指针更改为智能指针后,解决全部的编译问题,程序还是会出错,问题在于: 的设计方案存在的一些特性 指针的生命周期结束时主动释放堆空间 一片堆空间最多只能有一个指针标识 不允许指针运算和指针比较 需求:创建新的指针指针 是智能指针的 ...
分类:
其他好文 时间:
2018-09-16 16:12:54
阅读次数:
169
1、数组元素的指针 一个变量有地址, 一个数组包含若干元素,每个 数组元素都在内存中占用存储单元,它们都有相应的地址。指针变量既然可以指向变量,当然也可以指向数组元素(把某一元素的地址放到一一个指针变量中)。所谓数组元索的指针就是数组元素的地址。引用数组元素可以用下标法(如a[3]),也可以用指针法 ...
分类:
编程语言 时间:
2018-09-13 20:14:29
阅读次数:
245
转:函数指针 函数指针是指向函数的指针变量。 因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变 ...
分类:
其他好文 时间:
2018-09-12 01:21:26
阅读次数:
120
为什么结构体在声明变量不需要去动态的分配内存,而声明结构体指针后,如果对成员进行操作需要分配内存,或者需要定义。 首先变量的声明与定义: extern int i; //声明,不是定义 int i; //声明,也是定义 编译器会随机分配一个定义给i,这个地址肯定是合法的。 然后指针变量的声明与初始化 ...
分类:
其他好文 时间:
2018-09-09 11:36:53
阅读次数:
228
C语言篇 1.指针是什么 一个变量的地址称为该变量的“指针”。如果有一个变量专门用来存放另一个变量的地址(即指针),则它称为“指针变量”。指针变量就是地址变量,用来存放地址,指针变量的值是地址(即指针)。 2.指针变量 定义指针的一般形式:类型名 *指针变量名 下面用一张图片来解释一下: 3.指针变 ...
分类:
其他好文 时间:
2018-09-08 11:50:10
阅读次数:
153