3) __LINE__:宏在预编译时会替换成当前的行号 4) __FUNCTION__:宏在预编译时会替换成当前的函数名称 5)类似的宏还有 __TIME__,__STDC__, __TIMESTAMP__等,就全然当一个变量来使用就可以。 宏连接符##: 举个样例:宏定义为#define XNAME(n) x##n,代码为:XNAME(4),则在预编译时,宏发现XNAME...
1//定义比较函数max(int,int) 2intmax(inta,intb) 3 { 4returna>b?a:b; 5 } 6//指针fun作为compare函数的形式参数1,表明compare函数的形参1为 7// 有2个 int型 参数的 函数指针(或称之为函数地址/入口) 8//注意:int (*fun)(int,int)并不需要fun指针指向函数的参数 如下调用时*** 9//compare...
一、变量 变量即把程序运算的中间结果临时存到内存里,以备后续调用。 1.定义规则 a)变量名只能是字母、数字或下划线的任意组合 b)变量名的第一个字符不能是数字 c)关键字不能声明为变量名 2.定义方式 驼峰体:NumberOfStudents 下划线:number_of_students(官方推荐) 3.变量名注意事项 变量名尽量不为中文、拼音...
51CTO博客已为您找到关于linux 宏定义函数名的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及linux 宏定义函数名问答内容。更多linux 宏定义函数名相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
**因为这个同学的代码编译不过,所以他就提出了这样的疑问:**究竟在C语言中宏定义名称能不能与函数名同名? 3 问题分析 为了解释这个问题,我特意找了一些伪代码。 举个例子,假如有这样的代码片段: #defineTEST_FUNC test_func#defineTEST_FUNC1voidtest_func(void){ ...
使用defined(X)定义宏的优势在于可以根据宏的定义情况来选择性地编译代码,从而提高代码的灵活性和可维护性。通过合理使用宏定义,我们可以根据不同的需求来编译不同的代码,从而实现更高效的程序。 应用场景: 条件编译:通过使用defined(X)可以根据宏的定义情况来选择性地编译代码,从而实现在不同平台或者不同情况下执行...
变量命名格式:变量名称第一个单词首字母小写,其余单词首字母大写。 例子:spiArrayNum 函数命名格式:函数名称所有单词首字母都用大写。 例子:GpioConfig 宏定义命名格式:所有字母都用大写,每个单词用下划线分隔。 例子:TASK_ID 常量命名格式:加前缀C,其余字母大写,每个单词用下划线分隔。
根据编译器,有两种方式:1 部分编译器支持函数名默认宏定义。编译器提供一个自带的宏,名字有__FUNCTION__和__func__两种,因编译器不同而不同。如果支持该类宏情况下,这个宏实际值为一个字符串,内容为调用宏位置的函数名。所以,要输出函数名,可以 define LOG(fmt, args...) printf("%s:"...
宏定义:从 define 名字1 字符串1 开始,下面各行里出现的 名字1 用 字符串1 替代 直到遇到:undef 名字1 以后 各行里出现的 名字1 不再用 那个 字符串1 替代