C语言入门篇--定义宏#define的概述

 更新时间:2021年08月26日 15:15:09   作者:yycure  
本篇文章是C语言系列基础篇,适合c语言刚入门的朋友,本文对关于c语言的定义宏#define作了简要的概述,希望可以帮助大家快速入门c语言的世界,更好的理解c语言

1.什么是宏

宏只做简单的文本替换,但一般在作为变量名出现或者在字符串中出现中是不会被替换的。

2.为什么要有宏?

(1)便于代码的可维护性,对宏的内容进行修改,即可修改代码中所有用到此宏地方的内容。
(2)方便阅读,见名知意。

3.宏的用法

3.1定义宏

格式:
#define 标识符 内容

3.2宏常量

#include <stdio.h>
#define M 1
int main()
{
	int x = M;
	printf("M=%d\n", M);
	printf("M=%d\n", x);
	
	return 0;
}

在这里插入图片描述

3.3“宏函数”

宏函数不是函数,和函数没有任何关系,在替换时也是进行简单的文本替换,不做任何运算。

在写宏时要把()带全,否则容易出现意想不到的结果。

#include <stdio.h>
#define DOUBLE(x) x*x
int main()
{
	printf("%d\n", DOUBLE(10+1));//其实是:10+ 1*10 +1=21
	
	return 0;
}

在这里插入图片描述

带全():

#include <stdio.h>
#define DOUBLE(x) (x)*(x)
int main()
{
	printf("%d\n", DOUBLE(10+1));	
	return 0;
}

在这里插入图片描述

以上就是C语言入门篇--定义宏#define的概述的详细内容,更多关于C语言定义的资料请关注脚本之家其它相关文章!

相关文章

  • 详解C++11强类型枚举

    详解C++11强类型枚举

    这篇文章主要介绍了C++11强类型枚举的相关资料,帮助大家更好的理解和学习c++11,感兴趣的朋友可以了解下
    2020-08-08
  • windows下用c++获取本机ip地址的三种方法

    windows下用c++获取本机ip地址的三种方法

    工作过程中遇到一个需求,需要获取本机ip地址,同时获取本机网络连接情况,即网线是否连接,经过多番搜索,本文给大家介绍了3种方案,通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • 详解C语言中的memset()函数

    详解C语言中的memset()函数

    这篇文章主要介绍了C语言中的memset()函数,包括其与memcpy()函数的区别,需要的朋友可以参考下
    2015-08-08
  • C语言简明讲解归并排序的应用

    C语言简明讲解归并排序的应用

    这篇文章主要介绍了 c语言排序之归并排序,归并就是把两个或多个序列合并,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • c++中的const_cast用法大全

    c++中的const_cast用法大全

    const_cast转换符是用来移除变量的const或volatile限定符。对于后者,我不是太清楚,因为它涉及到了多线程的设计,今天重点给大家介绍c++中的const_cast用法大全,需要的朋友参考下吧
    2021-07-07
  • C++ 计数排序实例详解

    C++ 计数排序实例详解

    这篇文章主要介绍了C++ 计数排序实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • C++简易版Tensor实现方法详解

    C++简易版Tensor实现方法详解

    这篇文章主要介绍了C++简易版Tensor的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
    2022-08-08
  • C++深入浅出讲解函数重载

    C++深入浅出讲解函数重载

    C++允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading),借助重载,一个函数名可以有多种用途
    2022-05-05
  • C++字符串类的封装你真的了解吗

    C++字符串类的封装你真的了解吗

    这篇文章主要为大家详细介绍了C++字符串类的封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • cocos2dx-3.10 C++实现滚动数字

    cocos2dx-3.10 C++实现滚动数字

    这篇文章主要为大家详细介绍了cocos2dx-3.10 C++实现滚动数字效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09

最新评论