C语言教程:理解指针与指针的指针

需积分: 32 6 下载量 42 浏览量 更新于2024-08-19 收藏 4.31MB PPT 举报
"指向指针的指针-示例分析-C语言教程——浙大" 这篇教程主要涉及的是C语言中的指针和多级指针的概念,特别是如何理解和使用指向指针的指针。在C语言中,指针是编程中非常重要的一个特性,它允许我们直接操作内存地址,提供高效的数据访问和操作方式。 首先,`char *color[5] = {"red", "blue", "yellow", "green", "purple"}` 定义了一个字符指针数组,其中每个元素都是一个指向字符串常量的指针。`color` 可以被视为指向第一个元素(即"red"的首字符)的指针。`*color` 指向`color[0]`,即"red"的首字母'r'。 接下来,`char **pc = color;` 定义了一个二级指针`pc`,它指向`color`数组,也就是说,`pc`是一个指针,它存储了`color`数组的地址,即`color`或`&color[0]`的地址。`*pc` 表示解引用`pc`,所以它现在指向`color[0]`,也就是"red"字符串的首字符'r'。 当我们使用 `*(pc + i)` 时,我们实际上是在移动指针`pc`到数组的第`i`个元素,然后解引用它,这样就得到了`color[i]`的值。例如,`*(pc + 1)` 将会指向"blue"的首字符'b'。同样,`*(pc + j)` 表示移动`j`个位置后解引用得到的字符。 在C语言中,`printf`函数用于输出数据,`"%10s %10s\n"` 是一个格式控制字符串,它会打印两个宽度为10的字符串,并在它们之间添加空格,最后换行。 教程强调了程序设计语言的基础知识,包括C语言的语法、常用算法以及程序设计能力的培养。学习C语言的方法建议是自主学习和重视实践,通过模仿、改写和编写代码来提升技能。教材列表提供了多个经典的C语言学习资源。 C语言的学习通常涵盖以下章节:引言、程序编写、分支结构、循环结构、函数、数据类型和表达式、数组、指针、结构体、函数与程序结构、指针进阶和文件操作。在"Chap8指针"中,会更深入地探讨指针的使用,包括多级指针的应用。 通过这些章节的学习,学生将理解C语言的基本框架,知道如何编写、编译和运行C程序,并能够用流程图描述和实现简单的算法。此外,还会了解C语言的特点,如它的简洁性、效率和对底层硬件的直接访问能力。