这个程序是编译不过去的,因为宏定义在同名函数定义之前,预编译到print函数时,其名称也被当做宏进行处理,预编译完毕后,编译器编译是程序显然是不对的。如果程序的文件名称是test.c,则linux环境可以通过命令gcc -E test.c > test.i,可以看到预编译结果,有心者可以自己分析下,仔细看看print函数的预编译结果。 如果...
The square of8is64 2. ##运算符可以用于宏函数的替换部分 ##就是个粘合剂,将前后两部分粘合起来,也就是有“组成变量名”的意思。特别要和#运算符的功能区分开来,#是连接字符串,而##是连接变量名。 但是“##”不能随意粘合任意字符,必须是合法的C语言标示符。在单一的宏定义中,最多可以出现一次“#”或...
变量命名格式:变量名称第一个单词首字母小写,其余单词首字母大写。 例子:spiArrayNum 函数命名格式:函数名称所有单词首字母都用大写。 例子:GpioConfig 宏定义命名格式:所有字母都用大写,每个单词用下划线分隔。 例子:TASK_ID 常量命名格式:加前缀C,其余字母大写,每个单词用下划线分隔。 例子:CDEVEICE_ID 结构体命名...
如果二者作用域没有交叉,那么可以把函数名定义为static。或者在使用宏的地方,不要声明该函数。否则,只能改掉其中一个名字。推荐宏名用全大写字母。函数名用全小写字母或者单词开头字母大写。 这样就不会冲突了。而且根据名字 一眼就可以看出来是宏还是函数。
1.简洁明了:宏函数参数的名称应简洁明了,便于记忆和理解,避免使用冗长或难以理解的名称。 2.准确描述参数含义:参数名称应准确描述其含义,便于其他开发者快速理解其作用。例如,如果宏函数参数用于指定数组的大小,则可以将其命名为“array_size”。 3.避免使用模糊或容易混淆的名称:宏函数参数的名称应避免使用模糊或容...
换个函数名或换个宏名都可解决。
百度试题 结果1 题目C语言中标识符可用作变量名、函数名、宏名。 ( ) 相关知识点: 试题来源: 解析 正确
百度试题 结果1 题目C语言中函数参数传递方式是〔〕。 A. 值传递。 B. 地址传递 C. 宏扩展 D. 名字传递 相关知识点: 试题来源: 解析 A
想了解怎样解决C语言,函数名与宏冲突的相关内容吗,在本文为您仔细讲解函数名与宏冲突的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:函数名,宏,冲突,下面大家一起来学习吧。 代码如下: #include <stdio.h> void f() { printf("function\n"); } ...