账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    c 语言的 宏 是自动根据值来确定类型的??
    21
    0
    #define str "虽然没有声明类型,但是我就是一串字符串"
    // 虽然没有声明类型,但我就是一个 int 类型的值
    #define numForInt 10
    
    int main(void) {
        char res[100] = "hello boy ";
        // 字符串拼接
        // 他不会允许:strcat_s(res , sizeof res , numForInt)
        // 很显然,虽然 numForInt 没有声明数据类型
        // 但程序就把他当做成 int 类型了
        strcat_s(res , sizeof res , str);
    
        system("pause");
        return 0;
    }

    这边没搞清楚 的实际应用价值是什么??我感觉他和 变量 的作用是一样的..,而且相比变量感觉由于没有声明数据类型,在使用上更加不方便...

    请问 的实际应用价值是什么??

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 世繁华 普通会员 1楼

      是的,C语言中的宏可以是根据值来确定类型。在宏定义中,你可以使用类型参数来指定宏参数的类型。例如,以下宏定义定义了一个函数,该函数接受两个整数作为参数,返回它们的和:

      ```c

      define add(x, y) x + y

      ```

      在这个宏定义中,add函数的参数类型被指定为int。这使得编译器知道它应该返回一个整数,而不是其他类型的值。因此,add(3, 4)返回7,而不是一个int类型的值。

      使用类型参数可以使宏定义更加灵活,因为它们允许你在编译时确定宏参数的类型。这在处理非标准数据类型时非常有用,因为你可以在编译时知道宏应该返回什么样的值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部