c++ sizeof有关问题

c++ sizeof问题

#include <iostream>
using namespace std;

int main()
{
    char a[30];
    cout<<sizeof(a+3)<<endl;
    return 0;
}


为什么输出是4  ????在线求解答。

------解决方案--------------------
此时a+3表示指向a数组第3个元素的指针,sizeof(指针)=4
------解决方案--------------------
a+3运算结果是个地址类型,所以输出4
------解决方案--------------------
sizeof 只关心数据类型, 不关心表达式的值
------解决方案--------------------
a是个指针,a+3也是个指针,所以为4