一维指针和一维数组

10 篇文章 0 订阅
7 篇文章 0 订阅

C语言的一级指针和一维数组

数组:
相同数据类型的数据集合。
数组利用其下标变化实行对内存中的数组元素进行处理。

int a[10];
int *pa;
pa=a,或pa=&a[0];

指针pa加上或减去整数i,通过i的变化就可以和数组一样处理内存中连续存放的一系列数据。

a[0];a[1];a[2];a[3];...a[i];
*pa;*(pa+1+;*(pa+2);...*(pa+i)

指针和数组在访问地址中的数据时,其表现形式具有相同的意义

·a[i]*(pa+i)实质上是两个运算表达式,它们遵循统一的地址计算规则实现相同的功能
*(a+i); a[i] ; *(pa+i) ; pa[i];
指针和数组名都是地址量。

指针和数组名具有本质的不同
·指针pa是地址变量,而数组名a是地址常量,它们在某些运算中有着截然不同的区别。
·a[i]可以转换为*(pa+i)的前提是指针pa 指向了数组a,即pa指向数组a的首地址,否则不能转换。
`对于指针pa和数组名a。
指针pa可以接受赋值,其本身的值可以变化。


例 : 用指针输出数组元素的内容

#include <stdio.h>
void main()
{
int a[10],*pa,i;
for(i=0;i<10;i++)//用数组元素赋值
{
a[i]=i+1;
}
pa=a;//将指针指向数组的首地址
//用指针的形式逐个输出数组元素内容
for(i=0;i<10;i++)
{
printf("*(pa+%d):%d\n",i*(pa+i));
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值