目录:
1.地址与指针的概念
2.指针的定义与引用
(1)指针的定义与初始化
(2)指针的引用
3.指针与一维数组
1.地址与指针的概念
计算机中用来存储数据的记忆部件被称为存储器,存储器分外部存储器(外存)和内部存储器(内存)。计算机中的程序和数据都存在内存中。内存是CPU可以直接访问到的存储空间,内存可以看做由无数个字节单元构成的,每个字节单元对应唯一的地址标识,范围从0到所安装的内存数量的最大值。这样,我们就可以通过地址来访问对应的内存单元了。其中用来存储地址的变量就称为指针,指针存储的地址可以是变量的地址,数组,函数的起始地址,也可以是指针的地址。
2.(1)指针的定义与初始化
类型名 * 指针名;
类型名说明指针所指变量的类型;
星号(*)是一个指针变量的标识。
使用指针之前一般需要初始化变量。
例:int i = 0;
int *p;
p=&i;
&:取地址运算符
*:指针运算符,表示取其指向地址中的内容
(2)指针的引用
附例:通过指针变量访问整形变量
应用:按从大到小的顺序输出两个数字
相比于交换变量的方法,此方法不改变变量值,只是改变了指针变量所指的地址。
3. 指针与一维数组
首先设置一个一维数组,然后将数组中第一个元素地址赋值给指针变量。
当指针p指向数组a的时候,a的首地址就赋值给了p,即p=&a[0];p+1指向同一数组的下一个元素地址,p+1的具体值与元素的数据类型有关。
实际上,如果p的初值为数组的首地址,p+i和a+i就是a[i]的地址,表示a数组中的第i+1个元素。
附例:利用指针和循环输入输出数组
指针的运算法则:
p=p+n 表示p向高地址方向移动n个存储单位块
p=p-n 表示p向低地址方向移动n个存储单位块
p++ 和++p表示p向高地址方向移动1个存储单位块
p-- 和--p表示p向低地址方向移动1个存储单位块
两个指针之间只拿进行减法运算,且类型相同,指向同一数组,表示两个指针之间相隔的元素。
下面留一道指针的题,感兴趣的uu们可以尝试一下,我把自己的方法放到下面啦,答案仅供参考,uu们可以用自己喜欢的方式做。
例题:用指针方式从十个数组元素中找到最大值和最小值,并指出其位置。
如有不当之处,欢迎uu们批评指正^ω^