C 中关于 sizeof 的问题
以下为Windows NT下的32位C++程序:
char str[] = “Hello” ;
char *p = str ;
int n = 10;
请计算
sizeof (str ) = 6
sizeof ( p ) = 4
sizeof ( n ) = 4
void Func ( char str[100])
{
请计算
sizeof( str ) = 4
}
void *p = malloc( 100 )
请计算
sizeof ( p ) = 4
这是《高质量C++编程》后面的题目,我有些不理解,一般来说,near类指针字节数为2,far、huge类指针字节数为4。还有整形应该是 2。而且用 Turboc2.0编程
sizeof ( p ) = 2
sizeof ( n ) = 2
为何答案是 4 ?是答案错了吗?或者是32位的缘故?大家帮忙解释一下