二级C语言考试辅导教程第六章:指针[3]

二级C语言考试辅导教程第六章:指针[3],第1张

二级C语言考试辅导教程第六章:指针[3],第2张

数组指针变量的描述和使用
指向数组的指针变量称为数组指针变量。在讨论数组指针变量的描述和使用之前,我们先理清几个关系。
数组由连续的内存单元块组成。数组名是这个连续内存单元的第一个地址。数组也由不同的数组元素(下标变量)组成。每个数组元素根据其类型占用几个连续的内存单元。数组元素的第一个地址也指它所占据的几个内存单元的第一个地址。指针变量既可以指向数组,也可以指向数组元素,它可以被赋予数组名或第一个元素的地址。如果希望指针变量指向第I个元素,可以给它I元素的第一个地址或者数组名加I。

有一个实数组A,指向A的指针变量是pa。从图6.3中我们可以看到有如下关系:
pa,a,&a[0]都指向同一个单位。分别是数组A的第一个地址和第0号元素a[0]的第一个地址,Pa+1,a+1,&a[1]都指向第1号元素a[1]。以此类推,a+i,a+i,&a[i]
指向元素a[i]No. I,需要注意的是pa是变量,而a,&a[i]都是常量。编程时要注意。
main(){
int a第五章介绍了使用数组名作为函数的自变量和形参的问题。学了指针变量之后就比较容易理解这个问题了。数组名是数组的第一个地址,实参传递给形参的数组名实际上是数组的地址,形参得到地址后指向同一个数组。就好像同一个物品有两个不同的名字。同样,指针变量的值也是地址,数组指针变量的值是数组的第一个地址,也可以作为函数的参数。
,I;
for(I = 0;I a[I]= I;
printf("a[%d]=%d\n ",I,a[I]);
}
printf(" \ n ");
}
main函数
定义了一个整数数组和一个整数变量
Loop语句
给数组赋值
打印每个数组的值
...
Output newline [/br]从一般形式可以看出,指向数组的指针变量和指向普通变量的指针变量的描述是一样的。来源:www.examda.com
引入指针变量后,可以用两种方式访问数组元素。
第一种方法是下标方法,即以a[i]的形式访问数组元素。这种方法用在第四章介绍数组的时候。
第二种方法是指针法,即使用*(pa+i)的形式间接访问数组元素。
main(){
int a[5],I,* pa
pa = a;
for(I = 0;i * pa = i
pa++;
}
pa = a;
for(I = 0;i printf("a[%d]=%d\n ",I,* pa);
pa++;
}
}
main函数
定义整数数组,指针
将指针pa指向数组a
循环
将变量I的值赋给指针pa指向的数组A的单元
指针]指针pa重新获取数组A的第一个地址
并循环
以输出数组A中的所有元素
并将指针pa指向下一个...

main(){
int a[5],I,* pa = a;
for(I = 0;i * pa = i
printf("a[%d]=%d\n ",i++,* pa++);
}
}
main函数
定义整数数组和指针,使指针指向数组a
循环
将变量I的值赋给指针pa
指向的a[]的数组单元,用指针输出数组A中的所有元素。......

作为函数参数的数组名和数组指针变量

[5]

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 二级C语言考试辅导教程第六章:指针[3]

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情