在C语言中,FUNC是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C语言中,FUNC是啥意思?相关的知识,希望对你有一定的参考价值。
因为函数的英文是function,所以教材中自定义函数的名称一般用f,fun,func。只是一个名称,为了便于记忆而已。
func应该代表的是function这个英文单词,不过它并不是语法关键字,没有任何特殊的含义,只是在有些C语言的练习题程序中会作为自定义函数的命名,但实际编程时不推荐这样命名,这样的命名可读性太差(因为它不能够说明函数是干什么的),而且还容易造成命名冲突。
扩展资料:
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
参考资料来源:百度百科-c语言
参考技术A Func 是你自己定义的函数的名字。 例:void func1(int i),其中void指的是返回值类型是空,默认情况下指的是int型,func1是你定义的函数名,int i是你定义一个形式参数,类型是整型的 参考技术B 没有特别的意思 可能是程序中定义的一个宏也许 FUNC就是空白 只是起到标记的含义本回答被提问者采纳 参考技术C 是__func__吧?
它的意思就是 显示当前函数名
如果是typedef int(*FUNC)(int *ptr);
用于回调函数! 参考技术D 因为函数的英文是function,所以教材中自定义函数的名称一般用f,fun,func。
只是一个名称,为了便于记忆而已。
"CONST func(arg);" 是啥意思在C语言中是啥意思?
【中文标题】"CONST func(arg);" 是啥意思在C语言中是啥意思?【英文标题】:What does "CONST func(arg);" mean in C language?"CONST func(arg);" 是什么意思在C语言中是什么意思? 【发布时间】:2011-08-27 01:11:49 【问题描述】:This 是一个 c 程序,演示了 libxml2 库的一些基本用法。下面是从main函数中引用的:
LIBXML_TEST_VERSION example1Func(argv[1]);
这句话代表什么?
我只能说 LIBXML_TEST_VERSION 显然是一个常量,然后是一个函数调用,该函数什么也不返回(void)。但我不知道这句话的整体含义。
【问题讨论】:
我现在感到非常抱歉,因为我链接到的原始程序中的行实际上是两行。我想这是我的 IDE 的自动缩进系统做出了错误的决定。所以这个问题其实是没有意义的。 不过,你们的速度令人印象深刻! 没问题 - 今天我们都了解到:所有大写符号不一定都是常量,你不应该相信代码的格式,以及 LIBXML_TEST_VERSION 宏的作用。 ;-) 【参考方案1】:LIBXML_TEST_VERSION
不是常量 - 它是一个宏 - 请参阅此处的文档:
Macro: LIBXML_TEST_VERSION
#define LIBXML_TEST_VERSION
Macro to check that the libxml version in use is compatible with the version the software has been compiled against
这也与调用example1func()
无关 - 代码应如下所示(cmets 是我的):
LIBXML_TEST_VERSION // test libxml version
example1func(); // call example1func
【讨论】:
+1:这种宏很烦人,但正是因为这种混乱。如果宏没有定义结尾的;
,我会更喜欢它,这至少会强制您使用;
明确地为实例添加后缀,从而减少视觉混乱。
@Oli:确实 - 通常多行宏应该包含在 do ... while (0)
中以允许使用终止分号【参考方案2】:
看起来LIBXML_TEST_VERSION
是一个扩展为一个或多个语句的宏。从Google code search 看来,定义类似于:
#define LIBXML_TEST_VERSION xmlCheckVersion(20703);
20703
是您正在编译的任何版本。
此语句独立于对example1Func()
的调用。
【讨论】:
【参考方案3】:在 ALL_UPPERCASE 中命名 C 预处理器宏是标准约定。正如您所建议的,这通常用于编译时常量。但是,还有其他用途。
现在来看你的例子。原始出处是这样的(cmets 是我的):
LIBXML_TEST_VERSION /* line 1 */
example1Func(argv[1]); /* line 2 */
第一行是一个 C 宏。第二行是函数调用。正如您的问题所暗示的那样,这两者不是同一陈述的一部分。不幸的是,LIBXML_TEST_VERSION
的定义方式在末尾不需要分号;如果是这种情况,就不会混淆这两行是否属于同一语句。
如果您想知道LIBXML_TEST_VERSION
到底是什么:
Macro: LIBXML_TEST_VERSION
#define LIBXML_TEST_VERSION
Macro to check that the libxml version in use is compatible
with the version the software has been compiled against
【讨论】:
以上是关于在C语言中,FUNC是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章