void demo()
{
int marrAy[3] = {4, 5, 6};
int *p = marrAy;
int i;
for (i=0;i<3;i++)
{
printf("%d #",marrAy[i]); //数组名下标访问数组元素
//printf("%d #",p[i]); //数组名下标访问数组元素 指针变量等同于数据名,这样也可以访问
}
putchar('\n');
for (i=0;i<3;i++)
{
printf("%d #",*(p+i)); //数组首地址偏移访问数组元素
//printf("%d #",*(marrAy+i)); //数组首地址偏移访问数组元素 数组名等同于首元素地址
}
putchar('\n');
for (i=0;i<3;i++)
{
printf("%d #",*p++); //数组首地址偏移访问数组元素
}
/*
for (i=0;i<3;i++)
{
printf("%d #",*marrAy++); //这种是不行的,指针常量不能 ++
}
*/
/*
数组名和指针的区别 a++不可行 指针常量和指针变量
sizeof()的时候也不同
*/
}
int main()
{
demo();
return 0;
}
数组名和指针的区别
于 2024-11-17 14:01:24 首次发布