指针进阶
上一节中,我们认识了指针。
这次来认识指针与malloc函数以及指针与数组。
指针与数组
开一个10空间的数组:int a[10];此空间为连续可用空间,分别是a[0]~a[9],不能是a[10],a[10]表示数组过界;
数组的首地址表示为 a或&a[0];&a[1]=a+1;
指针就是地址,int *p后,用指针表示首地址,则通过p++可逐一表示每一个地址
eg: p=a(p=&a[0]),p++,可逐次访问地址
(附一知识点:p++为先用再加,++p为先加后用)
用程序说明:
用指针实现一个一维数组的求和
!先不要看答案试一下 !
#include <stdio.h>
int main()
{
int a[10],i,sum;
int *p;
p=a; //指针表示数组首地址
sum=0;
for(i=0;i<10;i++)
a[i]=i+1;
for(i=0;i<10;i++)
printf("a[%d]=%d ",i,*(p+i));
for(i=0;i<10;i++)