C语言指针基础教程:地址、指针与变量交换

需积分: 5 0 下载量 128 浏览量 更新于2024-07-14 收藏 573KB PPT 举报
本资源是一份关于C语言指针教学的幻灯片,主要针对初学者讲解了指针和指针变量的概念以及它们在编程中的应用。以下是详细内容: 1. **地址和指针概念**: - 在C语言中,每定义一个变量,系统都会为其分配一个内存地址。例如,`int a=10`和`int b=8`,它们在内存中都有特定的地址。 - 变量访问可以通过直接地址(如`a`)或间接地址(通过指针`p`)实现。直接访问是按变量地址获取值,间接访问则是先通过指针获得变量地址,再取值。 2. **指针与指针变量**: - 指针变量是用于存储内存地址的特殊变量,定义时使用星号(*)前缀,如`int *p1`表示`p1`是一个指向整型变量的指针。 - 指针初始化时,通过`p1 = &i`将指针`p1`指向变量`i`,同样,`p2 = &f`将`p2`指向变量`f`。 - 指针运算符`*`用于访问指针所指向的值,如`*p1 = 5`等价于`a = 5`。 3. **指针变量的引用**: - 取地址运算符`&`用于获取变量的地址,如`&a`;而`*p`获取`p`所指向的值。 - `&*p` 和 `*(&p)` 表示先解引用再取地址,两者等价于`&a`;而`*&a` 先取地址后解引用,等价于`*p`或`a`。 - 指针的自增操作`++`有两种形式:`*p++`会先取值后自增,`(*p)++`则先自增再取值。 4. **指针的应用示例**: - 例10.1展示了如何通过指针变量`p1`访问`a`的值。程序输出`100,100`,表明`p1`正确地指向了`a`并成功输出其值。 5. **交换指针变量值**: - 在代码片段中,当条件`a < b`成立时,通过指针交换变量的值,这里演示了指针在不同变量之间值的传递和修改。 通过这个练习,学习者可以深入理解指针在C语言中的作用,包括变量地址的处理、指针的声明和赋值、以及指针运算的规则。这对于理解和编写高效的C程序至关重要。