眼部整形

首页 » 常识 » 诊断 » C语言利用指针引用数组
TUhjnbcbe - 2023/6/7 20:35:00

今天,小编我来简单的讲解一下如何用指针去引用数组。能力有限,水平一般,如果小编我有讲错的地方,还请老铁们告知我,日后小编我好一一的改正。好了废话不多说了,之前我们了解了什么是数组,如何引用,我们又了解了什么是指针,怎么使用指针,那二者是否可以一同使用那,答案是当然的了。那么我们需要知道数组元素的指针是什么?换句话说我们需要知道数组在指针中的存在形式是什么。

数组元素的指针;一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址。指针变量既然可以指向变量,当然也可以指向数组元素(把某一元素的地址放到一个指针变量中)。所谓数组元素的指针就是数组元素的地址。例如;

inta[10]={1,2,3,4,5,6,7,8,9,10};//定义包含为10个元素的数组a

int*p;//定义p为指向整形变量的指针变量

p=a[0];//将a元素的地址赋给指针变量p

!注意;程序中的数组名不代表整个数组,只能代表数组首元素的地址,换句话说,程序中的数组只能一一引用,不能一口气直接引用整个数组。

那么,我们该如何引用数组元素进行计算那。

在引用数组元素时常常会遇到指针的算术运算。有人会提出问题,对数值型数据进行算术运算(加、减、乘、除等)的目的和含义是清楚的,而在什么情况下需要用到对指针型数据的算术运算其含义是什么。我们反复的说明指针就是地址。对地址进行赋值那当然是没问题的,但是对地址进行运算是什么意思那?显然,仅仅对地址进行加减乘除是没有意义的,那么我们要进行加减乘除,就必须在一定条件下进行。我们虽然不能用地址进行加减乘除,但是我们可以利用地址所指向的指针变量,进行加减乘除。从而将运算后的数组,通过指针的方式再赋予另一个地址。因此,当我们了解了如何运算,那么我们就可以去引用数组元素,进行运算了。

在指针已指向一个数组元素时,可以对指针进行以下运算:

加一个整数(用十或十=),如p十1;

减一个整数(用一或一=),如p-1;

自加运算,如p十十,十十p;

自减运算,如p一一,--P.

两个指针相减,如p1-p2(只有pl和p2都指向同一数组中的元素时才有意义).

分别说明如下:如果指针变量p已指向数组中的一个元素,则p十1指向同一数组中的下一个元素,p一1指向同一数组中的上一个元素。

引用数组元素,有以下两种方法;

下标法;如a;指针法;如*(a+i)。其中a是数组名,p是指向数组元素的指针变量。利用这个我们就可以编译一个程序;

includestdio.h

intmain()

{

inti,a[10],*p=a;

printf(pleaseenter10integernumber:);

for(i=0;i10;i++);

scanf(%d,p++);

p=a;

for(i=0;i10;i++,p++)

printf(%d,*p);

printf(\n);

return0;

}

这个就是将数组a[10]一一赋给p,显然这是一个简单的数组与指针的和程序。

当然了,还有许多的融合方法。大家需要去探究。

1
查看完整版本: C语言利用指针引用数组