C语言中指针使用技巧
C语言中指针使用技巧
摘 要 指针使得C语言在编程的过程当中增加了灵活性,它让程序员可以直接和地址打交道,而不仅仅使用系统栈分配的地址。掌握指针的应用,可以使程序简洁、紧凑、高效。笔者在从事C语言教学中发现很多同学在学习指针时非常困难,对学习内容一知半解。笔者将从指针变量的定义及指针的应用方面阐述C语言中的指针。
关键词 C语言;指针;程序设计
中图分类号TP39 文献标识码A 文章编号 1674-6708(2011)56-0173-02
1 C语言中的指针简介
指针就是表示地址的一种变量,所以指针的范围严格来说只能是自然数的,并且不能在两个指针间进行加、乘、除这样的运算。由于在C语言中每个数据类型都必有存储空间,所以指针可以应用于几乎所有的数据类型中。所以,从这个角度出发可以将指针分为:指向变量的指针、数组指针、字符指针、指向指针的指针、函数指针、结构变量的指针以及文件指针等等。
其中,指向变量的指针就是存储变量的地址的。如 int * s这就是一个指向整型的指针,可以用于指向一个整型变量。如int a; 当p=&a时,就是将p存储整型变量a的地址。这是指针最简单的一种类型。所谓数组指针,就是指数组的名称实际上是指向整个数组空间的首指针。如 int a[10];其中a本质上是一个指针,指向该数组的第一个位置,a[2]表示距离a指向空间向后2个位置所在空间中的存放的值。所以,a[2]=*(a+2)。字符指针本质上是数组指针的一种特殊情况,就是存放字符串的数组所对应的数组名。指向指针的指针这是一类很特殊的指针,用于存放指针的一类指针,在本质上与指向变量的指针十分相似。例如 char *ss[N]={“java”,”sss”,’’rrr”}。指向函数的指针