C语言指针详解:取地址与间接访问

需积分: 34 1 下载量 13 浏览量 更新于2024-07-14 收藏 2.2MB PPT 举报
"孙老师讲解的C语言指针变量的引用,包括取地址运算符&和指针运算符*,以及C语言的基本概念和发展历程。" 在C语言中,指针是一个非常重要的概念,它允许我们直接操作内存地址,从而实现高效的数据处理。指针变量的引用涉及到两个关键的运算符:取地址运算符`&`和指针运算符`*`。 1. 取地址运算符`&`:这个运算符用于获取变量的内存地址。例如,如果我们有一个整型变量`a`,我们可以使用`&a`来获取`a`的地址。这个地址可以存储在指针变量中,使得我们可以通过指针访问原始变量。 2. 指针运算符`*`:这个运算符用于间接访问存储在指针变量中的地址所对应的值。当我们有一个指向`a`的指针`pointer_1`,并且`pointer_1`已经通过`pointer_1 = &a`获得了`a`的地址,我们就可以使用`*pointer_1`来访问或修改`a`的值。例如,`*pointer_1 = 100`会将`a`的值设置为100。需要注意的是,我们不能直接将非地址值如`100`赋给指针变量,即`pointer_1 = 100`是错误的。 C语言的发展始于低级语言,经过一系列演变,如机器语言、汇编语言,最终形成了高级语言,如C语言。C语言在1972年至1973年由丹尼斯·里奇和肯·汤普逊在贝尔实验室开发,具有以下特点: - 结构化编程支持:C语言提供了一整套控制语句,便于实现结构化的编程风格。 - 丰富的数据类型:包括整型、实型、字符型、数组、指针、结构体和共用体等,可以满足多种数据处理需求。 - 直接内存访问:C语言允许直接访问物理地址,进行位操作,提供了底层编程的能力。 - 预处理功能:通过预处理器处理宏定义和其他预处理指令。 - 良好的可移植性:C语言的编译器设计使得程序基本可以在不同平台间无需重大修改即可运行。 - 高效的执行:生成的目标代码质量高,运行效率高。 C程序的执行通常从`main()`函数开始,例如简单的程序包括输出语句`printf()`和变量操作。C语言中,每条语句结束后必须以分号` ; `结尾,可以使用`/*...*/`进行多行注释。编写C程序后,我们需要使用C编译系统,如TurboC或VisualC++,经历编辑、编译、链接和调试等多个步骤,才能运行和调试程序。 在C语言中,还有常量的概念,它们的值在程序执行过程中不会改变。常量可以是数值、字符串或其他类型的固定值,有助于程序的稳定性和准确性。学习C语言需要深入理解这些基础概念,并通过实践不断提高编程技巧。