指针是程序设计的精华

掌握指针,就掌握C语言主要精髓。指针的学习可从下图中展开:

1.什么是指针

指针代表计算机内存中的地址。我们知道变量其实是计算机按照数据类型分配出来的内存空间,变量就如同是一个能存储数据的房间,这个房间号就是变量所在地址。程序设计语言中把这个地址可取名为指针。

2.什么是指针变量

指向地址的变量叫指针变量。指针的英文pointer,因此通常用p来表示指针变量。

指针变量指向地址,与普通变量一样需要定义、初始化,可以引用,运算等。

指针变量定义时需加指针运算符*。

关注我的童鞋,在前面讲过输入函数scanf,强调运用scanf函数时不能省略掉&,&是表示取地址的运算符。因此我们常能见到指针*与&的运用。

指针变量还可以进行自加自减运算,如p++;等价于p=p+1;

指针变量初始化时,要注意不能将整型数据赋值给指针变量,比如int *p=100;这是错误的。

原因是指针指向的是变量的地址,而不是数据本身。

int a=100;int *p=&a;这样就正确了。

3.通过指针引用数组/字符串

(1)通过指针引用数组

数组是连续存放若干个元素的集合,数组名是指向此数组第一个元素的指针。因此可以用指针变量来引用数组,用法如下:

Int a[10],*p;

p=a;

指针p指向数组a,通过指针可以灵活引用数组元素并进行编程。如定义并初始化指针p后,*p可表示a[0]元素,*(p+1)表示a[1];依次如此,可实现对数组的指针化操作。

(0)

相关推荐