指针 总结

来源:互联网 发布:java定义成员函数 编辑:程序博客网 时间:2024/06/07 10:25
 

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

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

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

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

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

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

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

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

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

摘自 《C语言程序设计》,清华大学出版社,陈锐 编著
原创粉丝点击