现在的位置: 首页 > 综合 > 正文

【C++】cstddef中4个定义

2013年10月10日 ⁄ 综合 ⁄ 共 977字 ⁄ 字号 评论关闭
文章目录

size_t

size_t corresponds to the integral data type returned by the language operator sizeof and
is defined in the 
<cstddef> header file (among others) as an unsigned integral type.
size_t = unsigned int

NULL

This macro expands to a null pointer constant.

A null pointer is generally used to signify that a pointer does not point to any object.
In C++, NULL expands either to 0 or 0L.

在c中null经常被定义为(void)*0,即为空指针,而在C++中null为一整型0。

ptrdiff_t

This is the type returned by the subtraction operation between two pointers. 

两个指针相减之差。

offsetof

offsetof (type,member)

This macro with functional form returns the offset value in bytes of member member in the structure type type.

此函数形式的宏返回member在结构type中的偏移。

/* offsetof example */
#include <stdio.h>
#include <stddef.h>

struct mystruct {
    char singlechar;
    char arraymember[10];
    char anotherchar;
};

int main ()
{
    printf ("offsetof(mystruct,singlechar) is %d\n",offsetof(mystruct,singlechar));
    printf ("offsetof(mystruct,arraymember) is %d\n",offsetof(mystruct,arraymember));
    printf ("offsetof(mystruct,anotherchar) is %d\n",offsetof(mystruct,anotherchar));
  
    return 0;
}

抱歉!评论已关闭.