C语言-宏定义和字符串

  • 定义符号常量(宏定义)
    • 格式
      • 下面我们看看如何在C语言中写宏定义呢
      • 接下来我们看看运行结果吧
  • 关于c语言中的字符串

定义符号常量(宏定义)

把程序中出现的所有标识符,替换为已经定义好的常量。

格式

#define 标识符 常量
对于标识符的命名我们一般使用大写
例如:#define NAME “lyt”

下面我们看看如何在C语言中写宏定义呢

#include<stdio.h>#define URL"http://www.lyt.com"
#define NAME "LuYuTing"
#define YEAR 2002
#define MONTH 01
#define DAY 18
#define ADDRESS "湖南郴州" int main(){printf("%s于%d年%d月%d日来到这个世界上\n",NAME,YEAR,MONTH,DAY);printf("我是%s,来自%s",NAME,ADDRESS);
}

接下来我们看看运行结果吧


有一点需要注意的细节就是每句话的结尾都要用一个英文的分号;表示,不然编译器不知道这句话已经结束了,就会报错。

关于c语言中的字符串

像我们之前有学习过java或者JavaScript等其他语言就知道用String可以定义一个字符串,但是在C语言中没有String这个类型,我们只能用char来定义字符串,有一点需要注意的就是C语言中严格区分单引号''和双引号"",那在C语言中应该如何表示字符串呢?
字符串就是被双引号标记的多个字符,C语言中没有专门的字符串变量,用字符数组表示字符串;

正如我们所看到的,每个字符都分割出来了占一个位置,用数组来存放字符串,在最后的一个位置会自动加上一个空格\0,表示已经结束了。所以我们定义的时候往往都会在实际长度中加上一位。

C语言-宏定义和字符串相关推荐

  1. C 语言 宏定义 :字符串化 stringify 的应用

    字符串化 通过C 语言的宏(MICRO),可以把数值或者一段字符的组合,转换为字符串. 因为 C语言的宏在[预处理]阶段就展开了,所以可以实现一些比较使用的功能,比如一些数据的初始化操作 比如定义一个 ...

  2. c语言宏定义替换字符串,C语言中,宏替换的替换规则

    匿名用户 1级 2011-10-25 回答 简单来说:宏定义又称为宏代换.宏替换,简称"宏".是C提供的三种预处理功能的其中一种. 复杂的请看下面,讲的很全.下面的带参宏定义,多行 ...

  3. c语言宏定义的连接符##和#转字符串

    c语言宏定义的连接符有哪些 [此问题的推荐答案] (一)宏定义中的## 连接符与# 符 ## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串. ...

  4. c语言 字符串数组末尾,C语言中,利用宏定义一个字符串和字符数组定义的字符串其末尾都会自动添加\0字符...

    利用宏定义一个字符串#define MYPHONE "AT+CMGS" 字符数组的方式来定义一个字符串unsigned char SMS[]="HELLO, WELCOM ...

  5. 【C语言进阶】 宏定义实现字符串引用

    宏定义实现字符串引用 原理 最简单的引用策略 使用#进行转义 原理 用宏定义实现字符串引用: 这种做法在编译的时候直接给宏名所对应的字符串 分配了一个内存地址空间,可以进行字符串输出.地址打印.指针操 ...

  6. c语言中#39;xd#39;代表什么,关于C语言宏定义的技巧:#39;##39;和#39;###39;

    关于C语言宏定义的技巧:'#'和'##' '#'和'##' '#'和'##'是两个预处理运算符,只能在预处理的过程中使用.在带参数的宏定义中, '#'运算符后面应该跟一个参数,预处理器会把这个参数转换 ...

  7. C/C++语言宏定义##连接符和符#的使用

    C/C++语言宏定义##连接符和符#的使用     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/53113187 (一) ...

  8. c语言宏定义技巧和用法,关于C语言宏定义的技巧:'#'和'##'

    关于C语言宏定义的技巧:'#'和'##' '#'和'##' '#'和'##'是两个预处理运算符,只能在预处理的过程中使用.在带参数的宏定义中, '#'运算符后面应该跟一个参数,预处理器会把这个参数转换 ...

  9. c语言 宏do while,关于C语言宏定义 使用do{ xxxx }while()

    暂时感觉像是由于":"的原因,关于使用习惯方面的问题!! 下面是copy的: 这样的宏见过么: Cpp代码 #define FOO(x) do {\ some_code_line_ ...

最新文章

  1. WSDL、SOAP、UDDI
  2. 一种准标准CSV格式的介绍和分析以及解析算法
  3. 全球AI技术开放日系列之(七):走进阿里业务中台
  4. ubuntu 命令收集
  5. 每一個故事兜發生在狠乆以前
  6. html列表穿插广告怎么实现,基于innerHTML中的script广告实现代码[广告全部放在一个js里面]...
  7. 光盘在电脑上为什么放不出来_铁砂掌这么厉害,为什么上擂台用不出来
  8. C#数据结构(一)----线性表
  9. ext 解析后台返回response.responseText中的数据
  10. centos mysql jar 驱动包_JDBC连接MySQL的数据库
  11. 解决Windows下运行出现ModuleNotFoundError: No module named xxx问题
  12. byteofpython.info_A Byte of Python 笔记(7)数据结构:列表、元组、字典,序列
  13. vsftpd+pam_mysql+mysql
  14. macOS 内置的端口扫描工具
  15. 支持Apple Music无损音频的耳机型号以及iPhone、iPad
  16. 使用qq邮箱发送html格式的邮件
  17. 2023年湖北助理工程师在哪里申报?助理工程师的五大作用你知道吗
  18. 计算机学院品牌活动,计算机学院研究生会举办十佳健康品牌活动
  19. Java极简角色权限后台管理框架springboot manager
  20. JS的jsoneditor,用来操作Json格式的界面;json-editor用来根据json数据生成界面

热门文章

  1. QTabWidget的样式
  2. 11月1日 迅雷白金会员vip账号分享 91freevip 上午10:00 更新
  3. 外卖跑腿APP开发的优势和功能
  4. 如何获得网站的CSS
  5. 计算机毕业设计 汉语多音字注音研究
  6. 在ubuntu中添加EPSON L485打印机
  7. 2021-11-01天视通常见故障汇总
  8. 永磁直流无刷电机设计之路(四)——仿真计算分析
  9. c语言生成随机数再升序
  10. ios - 音频AAC解码