计算sizeof值问题
在WIN NT 32位的以下程序:
char str[] = “Hello” ;
char *p = str ;
int n = 10;
请计算
(1) sizeof (str ) = 6
sizeof ( p ) = 4 //p是指向str的首地址吧,那应该是H的地址,那它怎么会是4呢?
sizeof ( n ) = 4 // n不是指向整型吗,不是2个字节吗?
(2) void Func ( char str[100])
{
请计算
sizeof( str ) = 4 //这数组不是有100个元素吗,怎么会是4呢?
}
(3) void *p = malloc( 100 );
请计算
sizeof ( p ) = 4 //这个也不懂,请教~
还有,如果以上程序是在WIN NT16位下的,那得到的结果又分别是什么呢?