何位大神可以说明下下列简单代码里sizeof(B) 为什么等于4

哪位大神可以说明下下列简单代码里sizeof(B) 为什么等于4?
#include<iostream>

using namespace std;
int main()
{
   char A = 'a';
   char *B = "a";
   cout<<sizeof(A)<<endl;
   cout<<sizeof(B);

    return 0;
}
//sizeof(A) = 1
//sizeof(B) =4 
------解决思路----------------------
32位系统中,所有指针占4个字节。
------解决思路----------------------
这个跟平台有关系, 不是所有的都返回4
------解决思路----------------------
引用:
这个跟平台有关系, 不是所有的都返回4

+1
64位linux下gcc4.6.3显示结果为1
------解决思路----------------------
只要理解sizeof() 的正真意思就好理解其返回值了.

http://www.cnblogs.com/chengxin1982/archive/2009/01/13/1374575.html 参考