ANSI C中的sizeof详解

    最近因为入手Mac OS X平台,读了一下Dave Mark的Learn C on the Mac,让我加深一下对C的知识。

    书中讲到了 sizeof 运算符, 呵呵,这可是个运算符哦,和+,-,*,/一样。

    C语言使用 sizeof 运算符用一对括号括起单个操作数就好像是函数调用一样。操作数可以是类型,也可以是变量。sizeof 返回操作数在内存中占的字节数。

    

printf( " sizeof( float ) = %d\n " , ( int ) sizeof float  )); 

printf(
" sizeof( myVar ) = %d\n " , ( int ) sizeof ( myVar ));

 

 

    注:就像return一样,sizeof并不总是需要一对括号。如果sizeof的操作数是类型,那么是要求有的;如果是变量,则可有可无。

    记住,sizeof返回的类型是size_t(很奇怪的类型吧?),而printf()没有一种格式说明符可以对应size_t。将size_t转换成int,我们可以用%d格式说明符打印sizeof返回的值。

 

你可能感兴趣的:(sizeof)