首页 > 其他分享 >函数的传参,递归函数,宏定义,头文件

函数的传参,递归函数,宏定义,头文件

时间:2024-07-21 20:26:49浏览次数:21  
标签:传参 头文件 定义 递归函数 参宏 数据类型 --- 函数

d0854021d11f4367a396863e34508452.png

数组传递中,形参和实参操作的是同一个数组 

1dabad30721f404b8557011723aa192e.png

1.带参宏

#define PRINTF(x,y,z) do{\

           printf("x = %d\n",x);\

           printf("y = %d\n",y);\

           printf("z = %d\n",z);\

}while(0)

\是连接字符,宏定义只能写成一行,\可以把两行连成一行

带参宏与函数的区别:
            1.函数有参数类型、返回值、传参的概念
            2.带参宏没有参数类型、返回值、传参的概念
            3.带参宏是在程序编译阶段加载到程序中 
                带参宏可能改变运算符的优先级,记得加括号
            4.函数是在程序运行阶段加载到程序中
            5.带参宏会使代码体积增大
            6.函数不会使代码体积增大    
            7.带参宏执行效率高
            8.函数执行效率低 

注:当简短的代码想要封装成模块的代码可以使用带参宏

2.头文件包含
    #include <stdio.h>
    在预处理阶段将stdio.h头文件展开到文件中
    在/usr/include目录下查找stdio.h 

    #include "stdio.h"
    在当前目录下查找stdio.h,如果当前目录找不到则在系统目录/usr/include目录下查找头文件

    头文件以.h结尾:
        1.头文件中存放宏定义 
        2.头文件中存放声明的全局变量和全局函数
        3.头文件中存放自定义的数据类型 

    项目工程根据功能划分成不同的文件
      最好每个.c文件都有一个.h文件
    
    jisuanqi--------src ----- main.c         主函数的实现  
                |            |--- add.c          加法相关的函数接口的实现
                |            |--- sub.c          减法相关的函数接口的实现             
                |            |--- mul.c          乘法相关的函数接口的实现            
                |            |--- div.c          除法相关的函数接口的实现
                |
                |----include ---- add.h          add.c中用到的数据类型的定义、宏定义、全局变量的声明、全局函数的声明     
                            |--- sub.h          sub.c中用到的数据类型的定义、宏定义、全局变量的声明、全局函数的声明 
                            |--- mul.h          mul.c中 用到的数据类型的定义、宏定义、全局变量的声明、全局函数的声明 
                            |--- div.h          div.c中用到的数据类型的定义、宏定义、全局变量的声明、全局函数的声明

 

标签:传参,头文件,定义,递归函数,参宏,数据类型,---,函数
From: https://blog.csdn.net/m0_61965705/article/details/140592887

相关文章

  • C++自学笔记3(头文件)
    头文件就是各个函数申明存放地(也可以放结构体)现在你有main.c文件、A.c、B.c文件A.c包含A()函数B.c包含B()函数如果想要在main.c中使用A()B()两个函数,那么我们必须在intmain()之上进行申明_________________________________________________________________________//mai......
  • PHP高性能递归函数
    一个递归方法functionorganizeRecords($regions){$organizedRegions=[];foreach($regionsas$region){$organizedRegions[$region['id']]=$region;$organizedRegions[$region['id']]['chi......
  • C++日志头文件[gpt]
    只要include头文件就能使用,单例模式#ifndefMONITORING_LOGGER_H#defineMONITORING_LOGGER_H#include<iostream>#include<string>#include<sstream>#include<mutex>#include<cstdarg>#include<iomanip>//Setloglevel#defineMO......
  • Makefile-只修改了.h头文件,编译为什么不起作用
    Makefile-只修改了.h头文件,编译为什么不起作用?-腾讯云开发者社区-腾讯云(tencent.com) 不知道各位小伙伴是否碰到过这样的情况:一个.c文件include另一个.h头文件,使用Makefile来构建(编译)应用程序。第一次编译、执行,很正常!但是此时,如果修改了.h头文件,再次编译时,就出现......
  • Java开发手册中为什么要求集合转数组toArray时禁止使用无参方法,而使用传参长度为0的空
    场景Java中使用JMH(JavaMicrobenchmarkHarness微基准测试框架)进行性能测试和优化:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/131723751参考以上性能测试工具的使用。阿里巴巴《java开发手册》泰山版关于集合转数组时规范声明:【强制】使⽤集合转数组的⽅......
  • 条件断点 预编译头文件
    作用:当满足某些条件时才会触发断点怎么设置:代码左侧单击添加断点,右键条件,添加触发条件;就是说在条件断点处暂停运行;预编译头文件作用:抓取头文件,编译成二进制存放在文件中,可以避免多个文件包含相同头文件时多次编译读头文件注意:不能将经常改动的头文件放到预编译头文件中会......
  • 教你创建Python函数信手拈来哦(递归函数)
    Python中函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段函数能提高应用的模块性,和代码的重复利用率Python提供了许多内建函数,比如print()、type()、类型转换函数等等用户也可以自己创建函数,这被叫做用户自定义函数一、定义函数1.创建函数函数使用def关键......
  • CCS工程导入后编译时无法读取头文件的问题
    CCS工程导入后编译时无法读取头文件的问题,主要是由移植之后的文件搜索路径所指向的文件夹不存在导致的。有两种解决办法:①导入工程时将所需要的所有.h、.c以及.lib文件一并打包在工程文件中,复制到Workspace并重新选取搜索路径;②导入工程的电脑安装有C2000WARE,修改CCS中相对路径......
  • Vue路由传参和接参如何实现
    在Vue中,使用VueRouter进行页面路由跳转时,经常需要传递参数到目标页面(组件)并在目标页面(组件)中接收这些参数。VueRouter提供了几种方式来实现路由传参和接参,主要包括通过URL的查询参数(query)、动态路由匹配(params)以及命名路由配合params或query使用。下面将分别介绍这几种方式。......
  • 前端传参
    前端传参参数各种格式详解一、form-data二、application/x-www-form-urlencoded三、application/json四、text/xml总结 上传文件采用 form-data一般接口采用 application/x-www-form-urlencoded form-dataenctype等于multipart/form-data。form-data格式一般是......