其他分享
首页 > 其他分享> > C语言 第十七章 指向一维数组的指针

C语言 第十七章 指向一维数组的指针

作者:互联网

//一,指针指向一维数组元素
int a[2];

int *p;

p=&a[0];

*p=10;

printf(“a[0]=%d”,a[0]);

//二,用指针遍历数组元素
1,普通;用数组下标来遍历元素
int a[4]={1,2,3,4};

int i;

for(i=0;i<4;i++)
{
printf(“a[%d]=%d\n”,i,a[i]);
}

2,指针遍历数组元素
int a[4]={1,2,3,4};
int *p=a;
int i;
for(i=0;i<4;i++)
{
int value = *(p+i);

printf("a[%d]=%d\n",i,value);

}

//指针与数组的结合
p是指针,a是数组
1.假设p=&a[0] ,则p+1表示a[1]的地址。

2.不同类型数组元素,p的该变量不同,
int类型,p+1代表p的值加上2.

3,若p的初值是&a[0],则
p+i和a+i都可以表示元素a[i]的地址,
他们都指向数组的第i个元素。

p+i和a+i都表示数组元素a[i].

指针变量p可以改变自身的值,
数组名a代表数组首地址的常量。

4,数组元素的引用,两种方法:
下标法:a[i]
指针法:(p+i)或(a+i)

四,数组,指针,函数参数
1,
void change (int b[])
{
b[0]=10;
}
int main()
{
int a[4]={1,2,3,4};

change(a);

printf("a[0]=%d",a[0]);
return 0;

}

2,
void change(int[]){b[0]=10
};

int main()
{
int a[4]={1,2,3,4};

int *p=a;

change(p);

printf("a[0]=%d",a[0])

return 0;

}

3,
void change(int *b){b[0]=10;
}

int main()
{
int a[4]={1,2,3,4};

change(a);

printf("a[0]=%d",a[0]);

return 0;

}

标签:第十七章,一维,int,元素,C语言,数组,printf,change,指针
来源: https://blog.csdn.net/qq_43181253/article/details/100918069