一、
数组地址是不可以++,--的;指针是可以++,--的;
int a[10];
a++;//是无法通过编译的,a在运算中表示数组a的首地址,数组的地址是一个地址常量,是不可以++的,a++会给a重新赋值,导致数组首地址改变,所以不会通过编译;
int * pb;
pb=a+1;//可以通过编译的,数组名a在运算表达式中表示首元素地址,a+1,表示a偏移一个int型长度(即4个字节);
pb++;//可以通过编译,指针是可以 ++、--的;
a[0]++;//可以通过编译,a[0]是一个int型数据,a[0]++表示a[0]自身加1
二、
指针可以当作数组用,数组不可以当作指针用;
int *a;
int b[10];
a=b;//可以通过编译
b=a;不可以通过编译;
这篇博客探讨了数组和指针在C/C++中的区别。数组地址不可递增或递减,而指针可以。数组名表示其首地址,不可改变,但指针可以进行++、--操作改变指向。指针可以作为数组使用,但数组不能直接赋值给指针。文章还强调了指针可以接受数组的首地址,但数组不能直接赋值给指针的限制。

3914

被折叠的 条评论
为什么被折叠?



