C语言中对数组赋值的三种形式
#include
int main()
{
int i;
int d[5] = {10,20,34,89,90};
//指针指向一维数组,指针指向数组首元素
//数据类型 *指针名;
int *p = d;
//int *p = &d[0];
//指针指向数组首元素。指针名可以当数组名使用
printf("%#p
",p);
printf("%d
",d[0]);
printf("%d
",*++p); //++p p的地址先偏移, *p
printf("%d
",d[1]);
printf("%#p
",p);
printf("%#p
",&d[1]);
printf("请输入数组d元素的值:");
p = d;
for(i = 0; i < 5; i++)
{
//scanf("%d",p+i); //p+0 p+1 p+2 p+3
scanf("%d",p++); //p = p+1
}
//for循环结束,p偏移到元素d[4]的下一个元素
p = &d[0];
for(i = 0; i < 5; i++)
{
//printf("%d ",*(p+i));
//printf("%d ",*p++); //p++,后置 *p取p变化之前的内容
printf("%d ",p[i]); //指针指向数组首元素。指针名可以当数组名使用
}
printf("
-----------------
");
return 0;
}