您的位置:首页 > 编程语言 > C语言/C++

C语言数组名和指针

2018-03-07 00:00 225 查看
摘要: 数组名只能指向数组的首地址,并不能执行++操作

数组名可以作为数组的首地址,但是以下操作却产生编译错误:

​#include <stdio.h>

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

for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++,arr++)
{
printf("%d ",*arr);
}

return 0;
}

​




虽然说数组名可以作为数组的首地址,但是只能指向首地址,不能对首地址执行arr++操作;

而将首地址赋给指针变量,即可执行++操作

#include <stdio.h>

int main(void)
{
int arr[] = {1,2,3,4};
int *p = arr;
for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++,p++)
{
printf("%d ",*p);
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C数组 指针