C标准库参考指南(11)stddef.h

11. stddef.h

头文件stddef提供了一些标准定义。其中很多定义也会出现在其他头文件中。

宏:

NULL

offsetof();

类型:

typedef ptrdiff_t

typedef size_t

typedef wchar_t

11.1. 变量和定义

ptrdiff_t是相减两个指针的结果。

size_t是无符号整型。

wchar_t是一个具有宽字符常量大小的整型.

NULL是空指针常量值。

offsetof(type, member-designator)

他会产生一个size_t类型的整型常量结果,它是结构的开始处的成员的偏移量(字节为单位)。member-designator指定成员,type指定结构名。

实例:

#include<stddef.h>   

#include<stdio.h>   

int main(void)   

{   

  struct user{   

     char name[50];   

     char alias[50];   

     int level;   

  };   

  printf("level is the %d byte in the user structure.\n"),   

          offsetof(struct user,level));   

}

输出结果:

level is the 100 byte in the user structure.

英文原文:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.11.html

原文作者:Eric Huss

中文译者:柳惊鸿 Poechant

版权声明:本文的原文版权归Eric Huss所有,中文译文版权归Poechant所有。转载请注明来自"柳大的CSDN博客":http://blog.csdn.net/poechant

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索typedef
, 版权
, 常量
, 结果
, wchar h
, level
user
spring boot参考指南、xmpp协议中文参考指南、指南的参考文献格式、css3中文参考指南、abaqus关键词参考指南,以便于您获取更多的相关知识。

时间: 2024-08-18 09:56:55

C标准库参考指南(11)stddef.h的相关文章

C标准库参考指南(1)assert.h

1.1 assert.h 断言头文件用于调试. 宏: assert(); 外部引用: NDEBUG 1.1. assert 声明: void assert(intexpression); 断言头文件中的宏允许你将一些特殊信息写入到标准错误文件. 如果表达式的值为0(false),那么表达式.源文件名和行号都会被发送给标准错误输出,并调用abort函数.如果标识符NDEBUG ("no debug")由#define NDEBUG定义,那么断言头文件中的宏就什么都不做. 标准错误输出的格

C标准库参考指南(10)stdarg.h

10. stdarg.h stdarg头文件定义了当函数参数个数位置时用于获取参数的宏. 宏: va_start(); va_arg(); va_end(); 类型: typedef va_list 10.1. 变量和定义 va_list适用于进入带有stdarg宏的函数的参数的类型. 一个带有不确定个数参数的函数,用(,...)在参数列表的末尾来标示. 10.2. va_start 声明 : void va_start(va_list ap, last_arg); 初始化与va_arg和va_

C标准库参考指南(8)setjmp.h

8. setjmp.h 头文件setjmp用于控制底层调用和函数跳转. 宏: setjmp(); 函数: longjmp(); 变量: typedef jmp_buf 8.1. 变量和定义 变量jmp_buf是一个数组类型,用于存储setjmp和longjmp信息. 8.2. setjmp 声明: int setjmp(jmp_buf environment); 存储当前运行环境environment变量中.如果返回一个非零值,则表明longjmp到达了源码中所运行到的位置.否则表明运行环境已被

C标准库参考指南(12)stdio.h(A)

12. stdio.h 标准输入输出头文件提供用于输入和输出的函数. 宏: NULL _IOFBF _IOLBF _IONBF BUFSIZ EOF FOPEN_MAX FILENAME_MAX L_tmpnam SEEK_CUR SEEK_END SEEK_SET TMP_MAX stderr stdin stdout 函数: clearerr(); fclose(); feof(); ferror(); fflush(); fgetpos(); fopen(); fread(); freop

C标准库参考指南(9)signal.h

9. signal.h 头文件signal处理程序运行时产生的信号的方法. 宏: SIG_DFL SIG_ERR SIG_IGN SIGABRT SIGFPE SIGILL SIGINT SIGSEGV SIGTERM 函数: signal(); raise(); 变量: typedef sig_atomic_t 9.1. 变量和定义 类型sig_atomic_t就是int,作为signal函数的handler中的变量.SIG_宏用于signal函数中用于定义信号函数. SIG_DFL   默认

C标准库参考指南(7)math.h

7. math.h 数学头文件定义了很多数学函数. 宏: HUGE_VAL 函数: acos(); asin(); atan(); atan2(); ceil(); cos(); cosh(); exp(); fabs(); floor(); fmod(); frexp(); ldexp(); log(); log10(); modf(); pow(); sin(); sinh(); sqrt(); tan(); tanh(); 7.1.错误条件 所有math.h函数产生错误的情形都是类似的.

C标准库参考指南(6)locale.h

6. locale.h 头文件locale对设置具体位置信息很有用. 变量: struct lconv 宏: NULL LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME 函数: localeconv(); setlocale(); 6.1. Variables and Definitions 数据结构"lconv"包含下面这些成员变量.这个数据结构的使用,将在"6.3 localeconv"中描述.

C标准库参考指南(5)limits.h

5. limits.h 该头文件定义了变量类型的特点. 5.1. Defined Values 下面这些值由#define指令定义.这些值由实现所确定,但一般不会比下面给出的值小. 英文原文:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/2.5.html 原文作者:Eric Huss 中文译者:柳惊鸿 Poechant 版权声明:本文的原文版权归Eric Huss所有,中文译文版权归Poechant所有.转载请注明来自"柳大的CSDN博客&quo

C标准库参考指南(4)float.h

4. float.h 浮点数头文件定义了一个浮点数值的上下限. 4.1. Defined Values 浮点数以下面的方式定义. sign value E exponent 其中sign是正号或者负号,value是数值,exponent是指数. 下面这些宏值由#define定义.这些值是由具体运行的平台环境特定实现,但不会比这里所给出的值小.注意在所有的宏名中,FLT是浮点类型的缩写,DBL是double的缩写,LDBL是long double缩写. 英文原文:http://www.acm.ui