嵌入式学习第九天

本文介绍了C语言中字符数组和字符串传递,带参宏与函数的区别,包括参数类型、执行效率和适用场景。还探讨了条件编译在不同情况下的使用,如宏函数在判断闰年时的优势和函数在复杂代码中的应用。
摘要由CSDN通过智能技术生成

1.字符数组和字符串的传递

        char str[32] = {"hello world!"};

        int fun(char str[]);  ----不需要传长度;

2. 带参宏(宏函数)

       #include  M+N

       #define M

       带参宏和函数的区别:

         1. 函数有参数类型、返回值、调用相关概念,而带参宏没有;

         2. 宏函数是在编译时加载到程序中,而函数是运行时加载到程序中;

         3. 宏函数会使代码体积增大,而函数不会;(因为宏函数是代码的替换,展开时就会增大体积,而函数有调用的过程不会展开。)

         4. 宏函数执行效率高,函数因为有调用和传参的过程,会占用系统资源的开销,执行效率就低一些;

3.  使用场景:

   宏函数:函数较短的场景(例如判断是否为闰年);

   函数:所需代码较长时;

4. 条件编译:     

        #if 条件

        #elif  条件

        #else

        #endif

        #ifdef 宏名  ----若定义了该宏就加入后续代码;

        #ifndef 宏名  ----若没有定义该宏就加入后续代码;

        #include <stdio.h>     ---在系统目录下寻找stdio;

        #include "stdio.h"     ---当前目录下寻找stdio,若找不到再去系统目录下找;

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值