指针数组与指针的指针:错误插入位置的处理和数组操作
需积分: 9 142 浏览量
更新于2024-07-13
收藏 482KB PPT 举报
"错误插入位置的处理-指针数组与指针的指针"
在编程中,错误插入位置的处理是一个非常重要的概念,特别是在链表插入操作中。链表是一种常用的数据结构,它可以动态地分配和释放内存,以满足不同的应用场景。然而,在链表插入操作中,错误插入位置的处理是一个非常重要的步骤。
在链表插入操作中,我们需要首先判断插入位置是否正确,如果插入位置不正确,我们需要打印错误信息并退出程序。例如,在给定的代码中,我们可以看到:
```
if (pre==NULL || k>i-1) /*if (k != i-1) */
{
printf("input location error! \n");
exit (1);
}
```
这里,我们首先判断 `pre` 是否为空,如果为空或者 `k` 大于 `i-1`,我们就打印错误信息并退出程序。
在正确插入位置的情况下,我们可以将新结点插入链表中,例如:
```
p->next = pre->next;
pre->next = p;
```
这里,我们将新结点 `p` 的 `next` 指针指向 `pre` 的 `next` 指针,然后将 `pre` 的 `next` 指针指向新结点 `p`。
在这篇文章中,我们还讨论了指针和数组的关系。指针是一种数据类型,它可以指向其他变量的地址,例如:
```
int *p;
int a = 10;
p = &a;
```
这里,我们定义了一个指针 `p`,然后将其指向变量 `a` 的地址。
数组是另一种常用的数据结构,它可以存储多个元素,例如:
```
int a[3];
```
这里,我们定义了一个数组 `a`,它可以存储三个整数元素。
指针数组是指针和数组的结合,它可以存储多个指针元素,例如:
```
int *p[3];
```
这里,我们定义了一个指针数组 `p`,它可以存储三个指针元素。
在指针数组中,我们可以使用指针来访问数组元素,例如:
```
p[0] = &a;
p[1] = &b;
```
这里,我们将指针数组 `p` 的第一个元素指向变量 `a` 的地址,将第二个元素指向变量 `b` 的地址。
在这篇文章中,我们还讨论了指针的指针,也就是指针数组的指针,例如:
```
int **p;
```
这里,我们定义了一个指针的指针 `p`,它可以指向其他指针的地址。
在指针的指针中,我们可以使用指针来访问其他指针,例如:
```
p[0] = &pa;
p[1] = &pb;
```
这里,我们将指针的指针 `p` 的第一个元素指向指针 `pa` 的地址,将第二个元素指向指针 `pb` 的地址。
在最后,我们讨论了两个例子,第一个例子是使用指针数组输出n个字符串,第二个例子是使用指向指针的指针变量将一批字符串按反序输出。
这篇文章讨论了错误插入位置的处理、指针和数组的关系、指针数组和指针的指针等概念,并提供了两个实践例子来帮助读者更好地理解这些概念。
2017 浏览量
972 浏览量
210 浏览量
点击了解资源详情
109 浏览量
2022-04-18 上传
2021-06-25 上传
131 浏览量
961 浏览量
速本
- 粉丝: 20
- 资源: 2万+
最新资源
- HPUX系统优化简述-公众第一版
- ATMEGA16单片机
- IAR C LIBRARY FUNCTIONS Reference Guide
- Catia二次开发-界面定制
- GEC2410B实验箱教学平台-基础实验教程
- GEC2410B实验箱教学平台--uCOS----uCOS教程
- 嵌入式系统原理(简介与入门)
- 广嵌2440开发板实验资料本实验指导手册针对目前国内非常流行的三星公司 ARM9 嵌入式微处理器――S3C2440A,通过具体的实例精讲,详细介绍了 ARM9 嵌入式常用模块的原理和驱动程序实现方法。
- 网络工程师复习笔记1至15章(DOC)
- 基于TMS320LF2407A的SVPWM控制技术
- Spring-JdbcTemplate(中文)
- 应变式称重传感器的设计
- 软件工程——实践者的研究方法(原始版)
- Struts in Action 中文修正版.pdf
- 运行时类型识别(RTTI)原理.当你看到一种颜色,想知道它的RGB成分比,不查色表行吗?当你持有一种产品,想知道它的型号,不查型录行吗?要达到RTTI的能力,我们一定要在类构建起来的时候,记录必要的信息,已建立型录。型录中的类信息,最好以链表方式连接起来,将来方便一一比较
- 毕业设计中英文翻译中英文翻译