LINUX C语言 宏定义

LINUX C语言 宏定义,第1张

如果直接传整型数字进去默认应该是int吧

所以展开应该是

int _a = (2)

int _b = (3)

_a>_b?_a:_b

如果在使用宏的时候, a和b的类型是自己定义的类型 例如:

salary a

salary b

现在要调用宏来比较他俩的大小

salary n

n = max(a,b)<==>(salary _a = (a) salary _b = (b) _a>_b?_a:_b)

这样的求最大数的宏是目前最安全的写法

这里用宏的好处太多了。

1、增强代码的可读性。

拿这个例子来说,其他程序员一看这个宏就知道,0x01表示大写字母类型,0x02表示小写字母类型,0x03表示数字类型。然后isalnum是字符c类型判断结果,为零表示c不是字母或数字,不为零则表示c是字母或数字。

2、减少代码运行消耗。

if(isalnum)和if(__ctype[c] &(UPPER|_LOWER|DIGIT))相比,不止是写起来简单、看起来清晰,它的运行效率也更高了吧。

3、增强代码的可移植性。

还是这个例子,如果要求在程序中只需要判断一个字符是否为大写字母,那么只需要把宏改为#define isUpper (__ctype[c] &_UPPER)就可以实现,而不用去代码中找到并修改每一个相关的判断语句。

在linux c编程中学会使用宏,会给你带来很多好处和。。乐趣,呵呵。希望我的回答能对你有些帮助。

在 Linux 系统下面,可以使用 gcc 编译器对自己编写的 C 语言源程序进行编译。当然了,要想使用 c 编译器对 C 语言源程序进行编译,前提是在安装 Linux *** 作系统时,必须把 Linux 系统自带的 gcc 编译器安装上。

常用的选项有(其中:$ 表示普通用户装下面的提示符,# 表示超级用户下面的提示符):

$gcc my_program.c <cr>

如果 C 源程序没有任何错误的话,编译器就会自动生成一个缺省的可执行程序,该文件名为 a.out

$gcc -o my_program my_program.c <cr>(-o 选项用于指定输出的可执行程序名)

如果 C 源程序没有任何错误的话,编译器就会自动生成一个 my_program 的可执行程序

其他还有很多选项,可以参考 gcc 的详细使用文档。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7459199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存