问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

C语言中##什么意思,

发布网友 发布时间:2022-02-28 23:52

我来回答

4个回答

热心网友 时间:2022-03-01 01:21

##在C/C++中具有连接字符串的作用。例如:
执行完A ## B后变为AB(连接A和B并去掉空格)。

下面通过具体实例来说明##的工作原理:

假设程序中已经定义了这样一个带参数的宏:
#define paster( n ) printf( "token" #n " = %d", token##n )
同时又定义了一个整形变量:
int token9 = 9;
现在在主程序中以下面的方式调用这个宏:
paster(9);
那么在编译时,上面的这句话被扩展为:
printf( "token" "9" " = %d", token9 );
注意到在这个例子中,paster(9);中的这个”9”被原封不动的当成了一个字符串,与”token”连接在了一起,从而成为了token9,而#n也被”9”所替代。
可想而知,上面程序运行的结果就是在屏幕上打印出token9=9

热心网友 时间:2022-03-01 02:39

##用来连接前后两个参数,把它们变成一个字符串。

举例说:
#define Conn(x,y) x##y
int n = Conn(123,456); 结果就是n=123456;
char* str = Conn("asdf", "adf")结果就是 str = "asdfadf";
你给出的宏
SHORT_REC_ADR_INIT(6)相当于{ad_rec[6].slave_address = SPI_AD_DATA_6_BASE;

热心网友 时间:2022-03-01 04:14

宏中的#的功能是将其后面的宏参数进行字符串化操作(Stringizing operator),简单说就是在它引用的宏变量的左右各加上一个双引号。
如定义好#define STRING(x) #x之后,下面二条语句就等价。
char *pChar = "hello";
char *pChar = STRING(hello);

##它可以拼接符号(Token-pasting operator),如:
#define paster( n ) printf( "token"#n" = %d\n", token##n )
int token9 = 100;
再调用 paster(9);宏展开后token##n直接合并变成了token9。
整个语句变成了
printf( "token""9"" = %d", token9 );
在C语言中字符串中的二个相连的双引号会被自动忽略,于是上句等同于
printf("token9 = %d", token9);。
即输出token9 = 100

热心网友 时间:2022-03-01 06:05

算是一个连接符号,表示连接成一个东西
比如你调用SHORT_REC_ADR_INIT(hello)

那么宏展开就是
{ad_rec[a].slave_address= SPI_AD_DATA_hello_BASE;}

ps:貌似你的代码里面多空格了

谢谢采纳
C语言中 ##是什么???意思???

双目操作符 ## 用于合并标记。用法示例:define X(i) x##i X(1)=X(2)=X(3);经过预处理器处理之后,它变成下面的代码:x1=x2=x3;参考资料:http://wiki.cprogram.cn

vlookup 的用法

VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配(FALSE)或近似匹配(TRUE),前者要求完全匹配,后者则返回最接近且不大于查找值的项。VLOOKUP能够精确查找与大致匹配数据,并跨列提取相关信息,是数据处理中非常实用的工具。Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击4步自动完成vlookup匹配,无需手写公式,免费使用!

"#" 这个在C语言里是什么意思

“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令.所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能, 它由预处理程序负责完成。当对一个源文件进行编译时, 系统将自动引用预处理程序对源程序中的预处理部分作处理, 处理完毕...

c语言#什么意思?

代表NUMBER(数字)的意思。在五线谱中也有“升半个音”的含义,通常比称作“升号”,写在符头的的左边。也代表NUMBER(数字)的意思 。C语言中的 # # 本身为指令 没有其他意义/也没有其他效果 # 号必须是该行除了任何空白字符外的第一个字符。预处理指令就是以#号开头的代码行。 # 后是指令关...

c语言中##是什么意思

在C语言中,##符号扮演着重要角色,它是预处理运算符,主要功能是实现宏扩展中的参数连接。通过##,我们可以将宏中的参数与实际变量相连,进行替换操作。例如,当你使用#define语句定义一个宏,如`#define paste(front, back) front ## back`,这个宏的目的是将传入的两个参数合成为一个字符串。当...

C语言中的‘##’的含义

拼接操作符(##)是二元的,被用来连接宏中两个实际参数,比如,如下宏定义 define internal(var) internal##var 如果执行 long internal(str);则被扩展为:long internalstr;在一般编程时很少用到拼接操作符,但在编写编译器程序或源代码生成器时特别有用,因为它能轻易的构造出一组标识符。

C语言中##什么意思,

在C/C++编程语言中,"##"符号具有连接字符串的功能,它将两个字符串合并,同时去掉中间的空格。比如,"A##B"会被转换为"AB"。下面通过一个实际例子来解释这个操作的工作原理。假设在你的代码中,你定义了一个带参数的宏`#define paster(n) printf("token" #n " = %d", token##n)`,并且...

#的C语言中的 #

C#读成C Sharp,意为C++++# 本身为指令 没有其他意义/也没有其他效果# 号必须是该行除了任何空白字符外的第一个字符。预处理指令就是以#号开头的代码行。# 后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做...

c语言,#是什么?

是预处理符号,表示后面的语句编译器在预处理的时候处理 例如#if

C语言中##什么意思,

在C/C++中具有连接字符串的作用。例如:执行完A ## B后变为AB(连接A和B并去掉空格)。下面通过具体实例来说明##的工作原理:假设程序中已经定义了这样一个带参数的宏:define paster( n ) printf( "token" #n " = %d", token##n )同时又定义了一个整形...

#在C语言里是什么意思

预处理命令以符号“#”开头。所有的预处理命令都可以称为预处理宏命令,是给编译器中的预处理器处理源文件时的命令,包括内容包含,环境变量预定义等 。狭义地说:C语言里以#开头的都是宏命令。#define #if #else 等,#符号指示预处理器处理命令,处理过程就像是CMD脚本一样,按顺序执行。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
番茄牛肉怎么做才入味好吃? 西红柿炖牛肉怎样做的鲜香嫩滑? 股票的几根线代表什么 股票中的线是什么线 股票那个线叫什么名字 除夕放几天 席江的小说有哪些 95汽油和92汽油有什么区别 92号汽油比95号汽油便宜 95号油和92有什么区别? 一等奖有多少人,二等奖有多少人,三等奖有多少人? c语言是干什么的 C语言 里说的 实现 是什么意思? 什么是C语言?有什么用?说的简单点、 有谁能解释下这个C语言说的是什么意思吗? 所谓的c语言到底是什么? 什么是C语言代码,说得简单通俗一点, C语言主要讲的是什么? 什么是C语言?能否说得详细点? 什么叫C语言(要说得超简单易懂啊) C语言是什么? 详细说一下 我的电脑老是蓝屏是怎么回事? 电脑总是蓝屏是什么原因 没有基础的人学JAVA难吗?有没有学历要求? 学习Java需要有什么基础呢?没有基础也可以学好Java吗? 学习JAVA需不需要基础?? 学习Java需要学习什么基础吗?可以直接学吗? 电脑老蓝屏是怎么回事。 JAVA学习的前提需要哪些基础,谢谢! 学习java需要基础吗? 学习Java开发的话,需要有什么基础吗? 软考中级应该选择什么科目? 注册建筑师一级和二级的区别 建筑师不同有什么区别 一级建筑师和一级建造师有何区别?该如何备考? 建筑设计的高级工程师与一级注册建筑师有什么不同? 建筑师和建造师的区别? PMP与PMI的区别PMP与PMI哪个含金量更高 PMP证书和一级注册建造师哪个证书含 PMP报名必须要有项目管理经验吗 大家考pmp的话都是有几年工作经验了 PMP报名表上的项目经验怎么填 项目管理是做什么?我想向这个方向努力 我想考PMP,但好像说要有6年的项目管理经验才行。 PMP项目管理考试申请递交的项目经验证明,会被调查吗,需要什么资料? 最近想考PMp,谁能给点备考经验啊? java中的,堆,栈,还有方法区都是用来放什么的?? php程序员招聘要求有哪些 重庆 软考电子商务设计师在哪里考试啊?报名时间是和中级软考一起的吗? 2011年软考的电子商务设计师考试时间是在什么时候,还有什么时候可以开始报名? 职务证书是职称证书吗 职称证书是什么东西啊?
  • 焦点

最新推荐

猜你喜欢

热门推荐