sizeof不是一个函数,而是C语言的一个内置运算符,以字节为单位给出指定类型的大小
#include "stdafx.h"
int main(int argc, char* argv[])
{
char *p = "Hello World!";
char Str[20] = "Hello World!";
printf("%d\n",sizeof(Str));//结果是20
printf("%d\n", sizeof(p));//结果是4
printf("%d\n", sizeof(unsigned long));//结果也是4
return 0;
}
指针的真实类型是无符号长整型 unsigned long 大小是四个字节
无论指针指向什么,sizeof求的结果都是4