在C语言中,预定义标识符__func__

在c语言中,预定义标识符__func__

标识符是在编程中给实体赋予的名称,以在程序中进行标识。

通常,标识符是由程序员创建的,以实现高效工作,但也有一些预定义的标识符内置在编程中。例如,cout、cin等。

在这里,我们将看到C编程语言中的一个预定义标识符__func__

__func__的正式定义为 −

立即学习“C语言免费学习笔记(深入)”;

“标识符__func__应被翻译器隐式声明,就好像在每个函数定义的左花括号之后立即跟着声明一样。”

static const char __func__[] = “function-name”;

登录后复制

appeared, where function-name is the name of the lexically-enclosing function.”

C program The __func__ is a compiler-generated identifier that is created to identify the function using function name.

Let’s see a few code examples to make the concept more clear,

Example

 Live Demo

#include void function1 (void){   printf ("%s

", __func__);}void function2 (void){   printf ("%s

", __func__);   function1 ();}int main (){   function2 ();   return 0;}

登录后复制

输出

function2function1

登录后复制

Explanation − 在这里,我们使用了__func__方法来返回被调用的函数的名称。标识符返回它被调用的函数的名称。两个print语句都调用了__func__来获取自己的方法引用。

这个标识符甚至可以在主方法中使用。例如,

示例

 在线演示

#include int main (){   printf ("%s

", __func__);   return 0;}

登录后复制

输出

main

登录后复制

But this cannot be overwritten i.e. __func__ is reserved for function names only. Using it to store anything else will return error.

Let’s see

Example

 Live Demo

#include int __func__ = 123;int main (){   printf ("%s

", __func__);   return 0;}

登录后复制

输出

error

登录后复制

还有其他类似的功能在C编程语言中也可以进行类似的识别工作。其中一些是

__File__ – 返回当前文件的名称。

__LINE__ – 返回当前行的编号。

让我们看一个代码来展示实现

示例

 在线演示

#include void function1(){   printf("The function: %s is in line: %d of the file :%s

", __func__,__LINE__,__FILE__);}int main(){   function1();   return 0;}

登录后复制

输出

The function: function1 is in line: 3 of the file :main.c

登录后复制

Explanation − 这些是一些通用函数,可能在我们收集有关文件名、代码行和当前调用的函数的信息时会有用,使用__func__,__LINE__,__FILE__标识符。

以上就是在C语言中,预定义标识符__func__的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2584960.html

(0)
上一篇 2025年3月6日 14:56:05
下一篇 2025年2月23日 09:39:56

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • c语言如何输出double类型

    c语言输出double类型的方法:1、使用printf函数输出,可以用于输出不同类型的值,包括double类型;2、使用fprintf函数输出到文件,使用fprintf函数可以将double类型的值输出到指定的文件中;3、使用sprintf…

    2025年3月6日
    200
  • 用C语言编写模拟非确定有限自动机(NFA)的程序

    在这个问题中,我们将创建一个 C 程序来模拟非确定性有限自动机 (NFA)。 NFA(非确定性有限自动机)有限状态机可以移动到输入符号的任意状态组合,即没有机器将移动到的确切状态。 NDFA 的正式定义 – NFA / NDFA…

    2025年3月6日
    200
  • 在C语言中的命令行参数示例

    在执行 C 程序时,可以将一些值从命令行传递给它们。这些值称为命令行参数,很多时候它们对您的程序很重要,尤其是当您想从外部控制程序而不是在代码内对这些值进行硬编码时。 命令行参数使用 main() 函数参数处理,其中 argc 指传递的参数…

    2025年3月6日
    200
  • 使用多线程在C++中实现归并排序

    我们得到一个未排序的整数数组。任务是使用通过多线程实现的合并排序技术对数组进行排序 合并排序 合并排序是一种基于分而治之技术的排序技术,我们将将数组分成相等的两半,然后以排序的方式将它们组合起来。 实现归并排序的算法是 检查是否有一个元素 …

    2025年3月6日
    200
  • 如何在C中修改一个const变量?

    在C或C++中,我们可以使用常量变量。常量变量的值在初始化后就不能更改。在本节中,我们将了解如何更改某些常量变量的值。 如果我们想要更改常量变量的值,则会产生编译时错误。请检查以下代码以获得更好的想法。 示例 #include main()…

    2025年3月6日
    200
  • 使用C++找到Pell数

    在给定的问题中,我们得到一个整数 n,我们需要找到 Pn,即该位置的咒语编号。现在,正如我们所知,拼写数是由以下公式给出的序列的一部分 -Pn = 2*Pn-1 + Pn-2 前两个起始数字 – P0 = 0 和 P1 = 1 …

    2025年3月6日
    200
  • 在C语言中,是否可以在main()函数中传递参数?

    是的,我们可以在 main() 函数中给出参数。 C 中的命令行参数在系统命令行中的程序名称之后指定,这些参数值将传递给程序执行期间的程序。 argc 和 argv 是可以传递给 main 函数的两个参数。 但是当您从终端运行程序时,mai…

    2025年3月6日
    200
  • 使用C++反转一个双向链表

    在本文中,我们有一个双向链表,我们将解释在 C++ 中反转双向链表的不同方法。例如 – Input : {1, 2, 3, 4}Output : {4, 3, 2, 1} 登录后复制 通常会想到一种方法,但我们将使用两种方法 &…

    2025年3月6日
    200
  • C令牌是什么?

    这个C程序是一系列指令,每个指令都是一系列个体单元的集合。 C程序中的每个小个体单元通常被称为令牌,C程序中的每个指令都是令牌的集合。 令牌用于构建C程序,它们也被称为C程序的基本构建块。 在C程序中,令牌包含以下内容: 关键字标识符运算符…

    2025年3月6日
    200
  • 在C语言中,隐式返回类型为int

    如果某个函数没有返回类型,则返回类型将默认为int。如果没有指定返回类型,则不会产生任何错误。然而,即使返回类型是int,C99版本也不允许省略返回类型。 示例 #includemy_function(int x) {   return x…

    2025年3月6日
    200

发表回复

登录后才能评论