指针 总结

 

本章主要讲解了一种特殊的变量类型──指针。

指针也是一种数据类型,指针变量用来存放地址而不是普通数据。注意区分地址与指针的区别,虽然指针也是地址,但是指针是一种数据类型。

使用指针可以使写出来的程序运行效率有极大的提高,并增加了程序设计的灵活性。指针可以与变量、数组、字符串、函数结合起来使用。

指针变量是存放的变量,变量指针是指变量的地址。定义指针变量时,指针变量前面的*只是说明该变量是指针类型;在引用指针变量时,*表示取指针变量所指向的内容。*与&是两个互逆的运算符,一个是取指针变量的内容,一个是取变量的地址。指针变量作为函数参数时,传递的是地址。

指针变量可以指向数组中的某个元素,也可以指向某一行数组。如果指针变量指向数组中的某一行,这样的变量称为行指针变量,这两种指针变量都称为数组指针。

函数指针是指向函数的指针,通过使用函数指针,可以调用指针所指向的函数。函数指针也可以作为函数的参数,如C语言提供的快速排序qsort函数中的参数compare就是一个函数指针。

指针数组指的是数组中存放的是指针,即数据元素都是地址。二级指针是指向指针的指针,用两个*表示。二级指针一般是在要修改一级指针为形式参数的情况下使用。

在处理多个字符串时,通常使用字符指针数组存放字符串,这样可以节省内存单元。在带参数的main函数中,形式参数中的字符数组argv存放命令行的各个参数。

指针极大地丰富了C语言的功能。每一个专业的C程序员必须学会灵活使用指针。但是对于初学者来说,指针较难理解和掌握,需要大家多思考、多上机、勤动手,才能尽快地掌握指针。

摘自 《C语言程序设计》,清华大学出版社,陈锐 编著
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值