c语言使指针p指向数组b,C语言学习之七——指针_2_数组

!!!注意:因为简书的显示格式缘故,所以“ * ”显示会出现问题,可能有些星号由于疏忽未改动格式,造成没有显示,请多多包含,如有错误,请留言或联系本人更正,谢谢!

指针和数组

1.1通过指针得到整个数组:由于数组是由各个具有相同性质的数组元素按照一定顺序排布的集合,而每个数组元素都占一定的内存空间,且由数据结构知识可知,数组元素在内存中的排布是连续的。因此,只要知道数组的首地址,那么整个数组就可以被知晓。由此可知,只需要将指针指向数组首地址,就可以按照地址顺序知道整个数组。

1.2数组元素的指针:即为指向数组元素的指针(换句话说,就是数组元素的地址)。见例1

//例1,定义一个指向数组元素的指针变量

int a[5] = {1,2,3,4,5}; //定义数组a

int *p; //定义指针变量p

p = &a[2]; //将数组a的第三个元素的地址赋给p(即p中存储数组a的第三个元素的地址)

引用数组元素的方法:1)下标法,如a[i]; 2)指针法,如(a+i)或(p+ i)。(注:i为第i+1个元素)

//例2

/#include

void main()

{

int a[5] = {1,2,3,4,5};

int *p, i;

p = a; //这里a是数组名,p是指向数组元素的指针变量,注意:数组名即“翻译成数组的第一个元素的地址!因此将数组的第一个元素的地址赋给p,后面的数组元素就可以通过地址+1得到。

//p = &a[0]; //这也是同样道理,因为a[0]的地址即为数组的首地址。

for(i = 0; i < 5; i++)printf("%d ", *(p + i));

printf("\n");

}

例题:假设有一个a数组,整型,有10个元素。要输出各元素的值有三种方法,见例3.

(1) 下标法

(2) 通过数组名计算数组元素地址,找出元素的

值。

(3) 用指针变量指向数组元素。

//例3

/#include

void main()

{

int a[5] = {1,2,3,4,5};

int *p, i;

for(i = 0; i < 5; i++)printf("第一种方法:%d ", a[i]);

printf("\n");

for(i = 0; i < 5; i++)printf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值