[C语言]支持命名参数的函数调用

对于参数较多的函数,如UI库函数,你很难去记忆每个位置的参数类型和意义,尤其在你的IDE比较简陋的开发环境下,尤为痛苦,可能你需要频繁的查询文档。

像Python这样语言,原生支持命名参数,如

可能你的函数有10个参数,其中大部分都可以有默认值,因此,如果你需要指定其中第3、第5个参数的值,而其他参数使用默认行为的时候,”func(arg3 = 3, arg5 = 5)”这样的调用很方便。

下面是我写的宏:

而且,相比普通函数,通过这种方式定义的函数用起来也基本是性能无损的。

Original: https://www.cnblogs.com/cbscan/archive/2012/10/26/2741817.html
Author: Scan.
Title: [C语言]支持命名参数的函数调用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535082/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 最值得学习阅读的10个C语言开源项目代码

    Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模…

    C语言 2023年5月29日
    056
  • JavaSE 类继承中函数重写

    (1) /** * 继承时重写方法的返回类型可以不一样 * 这时的返回值类型必须是与父类相同或者为子类。 */ class A { public Object func(){ re…

    C语言 2023年5月29日
    068
  • C语言switch 第一行不能定义变量的解决办法

    1.case后加一行代码 switch(cmd) { case CMD_A:break; case CMD_B: printf("加&#x4…

    C语言 2023年5月29日
    055
  • Dijkstra算法(一)之 C语言详解

    迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 基本…

    C语言 2023年5月29日
    072
  • C语言函数知识体系大学霸IT达人

    C语言函数知识体系大学霸IT达人 C语言中的函数会集成一条或多条命令(语句)用于实现指定的一个或多个功能。简单的可以将函数理解为一个工具,例如,锤子。锤子的功能是砸东西,木柄和锤头…

    C语言 2023年5月29日
    050
  • C语言声明知识体系总结大学霸IT达人

    C语言声明知识体系总结大学霸IT达人 声明(declaration)决定一个或多个标识符的重要性和属性。所声明的标识符可以是对象的名称、函数的名称等。 对象和函数的标识符可以有各式…

    C语言 2023年5月29日
    063
  • c语言获取cpu数量

    1、在Linux下获取CPU核数 linux下可以通过linux系统提供的sysconf()来获取当前CPU个数,sysconf在头文件unistd.h中声明。 sysconf函数…

    C语言 2023年5月29日
    084
  • 拓扑排序(一)之 C语言详解

    拓扑排序(Topological Order)是指,将一个有向无环图(Directed Acyclic Graph简称DAG)进行排序进而得到一个有序的线性序列。 这样说,可能理解…

    C语言 2023年5月29日
    059
  • 重学C语言

    重学C语言 1 #include 2 3 int main() 4 { 5 int age = 10; 6 int height = 72; 7 8 printf("I …

    C语言 2023年5月29日
    067
  • 真的可以,用C语言实现面向对象编程OOP

    ID:技术让梦想更伟大 作者:李肖遥 解释区分一下C语言和OOP 我们经常说C语言是面向过程的,而C++是面向对象的,然而何为面向对象,什么又是面向过程呢?不管怎么样,我们最原始的…

    C语言 2023年5月29日
    053
  • C语言getopt()的8个用法

    概况 例子1 例子2 例子3 例子4 例子5 例子6 例子7 例子8 概况 做 CSAPP 的 CacheLab 的第一个门槛是学习使用 getopt() 函数。它是 Linux …

    C语言 2023年5月29日
    079
  • C语言:结构体和共用体

    这是很基础的教程,我只是写给自己看,作为一个学习笔记记录一下,如果正在阅读的你觉得简单,请不要批评,可以关掉选择离开 如何学好一门编程语言 掌握基础知识,为将来进一步学习打下良好的…

    C语言 2023年5月29日
    0100
  • 最值得学习阅读的10个C语言开源项目代码

    Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模…

    C语言 2023年5月29日
    070
  • C语言指针总结大学霸IT达人

    C语言指针总结大学霸IT达人 C语言的指针是C语言区别其它语言的最主要的特定之一。有了指针,C语言就可以抛开所有束缚,直接对内存中的数据进行操作,这样,不单对数据的操作更加快捷,并…

    C语言 2023年5月29日
    054
  • C语言结构联合位字段知识体系总结大学霸IT达人

    C语言结构联合位字段知识体系总结大学霸IT达人 C语言的基础类型中只能去定义单一类型的变量用于指代数据,但在现实生活中我们常常要处理的数据却会包含多种类型的数据。 例如,公司员工的…

    C语言 2023年5月29日
    045
  • C语言字符串操作总结大全

    转:https://www.cnblogs.com/lidabo/p/5225868.html 1)字符串操作strcpy(p, p1) 复制字符串strncpy(p, p1, n…

    C语言 2023年5月29日
    039
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球