广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中#和##表示什么意思
  • 454
分享到

C语言中#和##表示什么意思

2023-07-05 23:07:32 454人浏览 安东尼
摘要

这篇文章主要讲解了“C语言中#和##表示什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中#和##表示什么意思”吧!1.#先做一个小铺垫。C语言中允许把一个字符串拆成2个字符串。

这篇文章主要讲解了“C语言中#和##表示什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中#和##表示什么意思”吧!

1.#

先做一个小铺垫。C语言中允许把一个字符串拆成2个字符串。比如,下面2条语句是等价的。

printf("Hello, world!!!\n");printf("Hello, ""world!!!\n");

也就是说,可以把"Hello, world!!!\n"拆成"Hello, “和"world!!!\n”。

而#可以把一个宏参数直接转换成相应的字符串。比如有下面这个宏:

#define CONVERT(a) #a

如果在某个地方这样调用:

int test_convert = 10;printf(CONVERT(test_convert));

在预处理之后,test_convert就会转换成相应的字符串,即"test_convert"。没错!直接把标识符作为文本转换成字符串!也就是说,上面2条语句会转换成这样:

int test_convert = 10;printf("test_convert");

屏幕上就会打印出test_convert这个字符串。

C语言中#和##表示什么意思

那么,假设有这么一个宏:

#define PRINT_MESSEGE(data, fORMat) \        printf("The value of "#data" is "format".\n", data)

就很有意思了。结合上面的讲解,你猜猜下面的调用会输出什么?

int i = 10;PRINT_MESSEGE(i, "%d");double d = 3.14;PRINT_MESSEGE(d, "%lf");

以PRINT_MESSEGE(i, "%d");为例。宏的第一个参数就是i,第二个参数就是"%d",具体就会替换成:printf("The value of ""i"" is ""%d"".\n", i)。根据前面讲解的字符串可以拆分的知识,这几个小的字符串也可以合并,就等价于:printf("The value of i is %d.\n", i)。所以输出结果就是:

C语言中#和##表示什么意思

2.##

##是用来连接2个标识符的。比如下面这个宏:

#define CAT(a, b) a##b

下面的代码就很有意思了:

int num5 = 20;printf("%d\n", CAT(num, 5));

解释一下,a##b就是字面意思的把a和b连起来。比如,CAT(num, 5)就会被替换成num5,所以上面的2条语句就会被替换成:

int num5 = 20;printf("%d\n", num5);

所以会输出20。

C语言中#和##表示什么意思

感谢各位的阅读,以上就是“C语言中#和##表示什么意思”的内容了,经过本文的学习后,相信大家对C语言中#和##表示什么意思这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: C语言中#和##表示什么意思

本文链接: https://www.lsjlt.com/news/355762.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言中#和##表示什么意思
    这篇文章主要讲解了“C语言中#和##表示什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中#和##表示什么意思”吧!1.#先做一个小铺垫。C语言中允许把一个字符串拆成2个字符串。...
    99+
    2023-07-05
  • c语言中node是什么意思
    在C语言中,node是用于定义链表结点的名称,通常在数据结构中用作结点的类型名,语法为“struct Node{...};”;结构和类在定义出名称以后,直接用该名称就可以定义对象,C语言中还存在“Node * a”和“Node* &...
    99+
    2022-07-06
    C语言
  • c语言中case是什么意思
    本教程操作环境:windows7系统、c99、Dell G3电脑。case中文是什么意思作名词意思是例子;情况;案例;(辩论或诉讼)论据;箱。作动词意思是装箱;踩点;仔细检查。c语言中的case在c语言中,case的意思为“情况”、“案例”...
    99+
    2022-11-23
    C语言
  • c语言中extern是什么意思
    本篇内容主要讲解“c语言中extern是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“c语言中extern是什么意思”吧!如果一个变量使用关键词extern,变量进行外部变量声明,则表示...
    99+
    2023-06-25
  • c语言中sizeof是什么意思
    本篇内容介绍了“c语言中sizeof是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!sizeof()内部表达式不参与真实运算,编译时...
    99+
    2023-06-25
  • c语言中undeclared identifier是什么意思
    在C语言中,"undeclared identifier"是指在使用一个变量、函数或其他标识符时,编译器无法找到该标识符的声明。这通...
    99+
    2023-08-25
    c语言
  • c语言中的0x是什么意思
    c语言中的0x是什么意思,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。   c语言0x是什么意思   C语言中对变量赋值0x是以十六进...
    99+
    2022-10-19
  • C语言数组是什么意思
    这篇文章给大家分享的是有关C语言数组是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是数组数组(Array)是一种用来存储同一种类型的集合,是一种有序的线性结构表。并且数组元素的地址是连续的。数组最大...
    99+
    2023-06-22
  • c语言中ftell函数是什么意思
    本篇内容介绍了“c语言中ftell函数是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C语言函数ftell用于获取文件位置指针当前位...
    99+
    2023-06-25
  • c语言中realloc函数是什么意思
    这篇文章主要讲解了“c语言中realloc函数是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言中realloc函数是什么意思”吧!判断当前指针是否有足够的连续空间。如果足够,扩...
    99+
    2023-06-25
  • C语言中return用法 return 1什么意思
    在C语言中,return关键字用于函数的结束和返回值的传递。当函数执行到return语句时,函数将会立即结束,并返回return后面...
    99+
    2023-08-18
    C语言
  • c语言中预处理器是什么意思
    这篇文章主要介绍“c语言中预处理器是什么意思”,在日常操作中,相信很多人在c语言中预处理器是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”c语言中预处理器是什么意思”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-25
  • 你知道C语言中#和##表示的意义吗
    目录1.#2.##3.总结如标题,这篇文章会讲解C语言中的#和##是啥意思。我相信,大部分朋友应该都没怎么用过,这两个玩意的使用条件相当苛刻。 #用于把一个宏参数直接转换为相应的字符...
    99+
    2023-05-14
    C语言# ##意义 C语言# ##区别 C语言# ##
  • C语言中位段与枚举是什么意思
    这篇文章将为大家详细讲解有关C语言中位段与枚举是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.什么是位段? 位段的声明和结构是类似的,有两个不同: ①位段的成员必须是 in...
    99+
    2023-06-29
  • go语言中main什么意思
    在go语言中,main是“主要”的意思,是Go语言程序的默认入口函数(主函数),是一个没有任何参数和返回值的函数;main函数是程序的入口,也就是说程序的运行一定是从main函数开始的。整个程序中,main 函数只能有一个,如果出现了多个 ...
    99+
    2023-05-14
    go语言 Golang Go
  • sql表示什么意思
    这篇文章给大家分享的是有关sql表示什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。sql全称结构化查询语言(Structured Query Language),是一种特...
    99+
    2022-10-18
  • css表示什么意思
    这篇文章将为大家详细讲解有关css表示什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css表示Cascading Style Sheets,中文意思是“层叠样式表”,是一种用来表现HTML或XML...
    99+
    2023-06-14
  • linux中pwd表示什么意思
    Linux中pwd表示Linux一个常用命令的意思,是Linux系统管理员和普通用户常用的一个命令,可以帮助用户快速找到当前所在的目录,便于用户更好地管理文件和目录,也可以帮助管理员和用户快速定位某些特定的目录或文件,从而更好地管理Linu...
    99+
    2023-07-10
  • php中warning表示什么意思
    这篇文章主要介绍“php中warning表示什么意思”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php中warning表示什么意思”文章能帮助大家解决问题。在php中,warning的意思为“警告...
    99+
    2023-06-29
  • sql语言是什么意思
    这篇文章主要介绍了sql语言是什么意思,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。sql语言通常称为结构化查询语言,是一种特殊目的的编程语言,...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作