当前位置:首页 > 问问

c语言头文件下划线做什么的 C语言中头文件下划线的作用

1、下划线在c语言头文件中的作用

C语言头文件是由C语言的各种函数、数据类型和宏定义等信息组成的文本文件,其使用下划线的方式有如下几个方面:

1)头文件宏定义:在C语言头文件的开头部分,通常要定义一些宏(#define)以便开发者在后续程序代码中使用,在定义这些宏时,经常会使用下划线并且全部大写,比如常见的头文件中,就有“#define H_FILENAME”的宏定义,这个宏定义通常用于防止头文件的重复包含。

2)预编译指令:预编译指令是C语言程序在编译前被预处理程序处理的指令,其作用是给编译器提供一些关于编译器操作的指令,比如#define、#include等等。在这些指令中,经常会出现了下划线做为符号的特殊指令,比如"#ifdef"、"#ifndef"等等。

3)结构体标识符:在C语言中,结构体是以"结构体名+结构体体"的方式定义的,如果想要使用这个结构体,就要把结构体作为一个整体进行操作。在这个过程中,经常会使用到下划线做为结构体标识符的一部分,比如常见的有"struct _iobuf"、"struct _stat"等等。

2、下划线的约定规则

在C语言中,一般情况下下划线代表着内部定义,主要有如下两个用法:

1)作为变量名的前缀:比如一些系统定义的变量,通常以双下划线(__)开头,以便与程序中的其他变量区分开来。例如:“__LINE__”、“__FILE__”等。

2)作为类型名的后缀:一些系统定义的类型,通常以下划线加字母(如“_Bool”、“_Complex”、“_Imaginary”等)结尾作为类型名,以便与用户自定义类型进行区分。

3、下划线的命名异常

虽然C语言中推荐使用下划线做为变量、函数名的前缀,但是在特殊情况下,有些出现了一些个别的下划线做为名称的情况,比如:

1)__asm:是C语言和C++语言中的一个保留字,表示是“内部汇编代码”模块,打开“inline inline_asm”方式防止出现优化问题。

2)__attribute__:表示定义_“属性”,是GNU c中使用的一个扩展关键字。

3)__extension__:表示一个“扩展”,在GCC编译器中存在。

4)__func__:是C语言和C++语言中的一个保留字,表示正在执行的函数名。

4、下划线不建议滥用

虽然C语言头文件中下划线的使用方式非常灵活,但是一些时候下划线的使用也会存在一些问题,比如:

1)操作系统定义下划线限制:一些操作系统会限制头文件的名字不能用下划线开头,否则会出现无法编译和执行的问题。

2)过多使用下划线影响代码可读性:虽然C语言中下划线使用灵活,但是在过多使用的情况下,会影响代码的可读性,对程序员的使用造成一定的困扰。

3)C语言规范中禁用下划线:ISO/ANSI C标准规范中禁用下划线作为标识符的首字符,仅仅允许字母和数字,这一点要特别注意。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章