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