C语言基础教程目录:https://blog.csdn.net/SparkLee2013/article/details/85229406


1、'x'和"x"

'x'是字符常量,而"x"是字符串串常量,两者是不同的。

一个字符在内存中只占一字节,而字符串本质上是多个字符组成的字符数组。C语言规定,在每一个字符串常量的结尾,系统都会自动加一个字符'\0'作为该字符串的“结束标志符”(字符'\0'的ASCII码是0,字符串常量"x"在内存中不是占用一个字节,而是占用了两个字节空间),系统据此判断字符串是否结束。这里要特别强调一点:'\0'是系统自动加上的,不是人为添加的。

#include <stdio.h>void main() {char x1 = 'x';printf("sizeof(x1) = %d byte, sizeof('x') = %d bytes\n", sizeof(x1), sizeof('x'));char x2[1] = { "x" };printf("sizeof(x2) = %d byte, sizeof(\"x\") = %d bytes\n", sizeof(x2), sizeof("x"));
}# 输出结果:
sizeof(x1) = 1 byte, sizeof('x') = 4 bytes
sizeof(x2) = 1 byte, sizeof("x") = 2 bytes

2、字符串常量存储方式

C语言中没有"字符串"数据类型(在C++/JAVA等语言中是有"字符串"数据类型的),可以通过字符数组(char数组)来替代

字符串一定是一个char数组,但char数组未必是字符串

数字0(和字符'\0'是等价的)结尾的char数组就是一个字符串,但若char数组没有以数字0结尾,则不是一个字符串,只是一个普通的字符数组,故字符串是一种特殊的char数组

在 C 语言中,字符串有两种存储方式,一种是通过字符数组存储,另一种是通过字符指针存储。

C语言基础教程 之 字符串相关推荐

  1. c 语言 字符 r,R语言基础教程之字符串

    原标题:R语言基础教程之字符串 在R中的单引号或双引号中写入的任何值都将被视为字符串.在R内部将每个字符串存储在双引号内,即使您使用单引号创建它们. 适用于字符串构造的规则 字符串开头和结尾的引号应为 ...

  2. C语言不用文件系统读取文件,C语言-基础教程-非缓冲文件系统

    前面介绍的缓冲文件系统是借助文件结构体指针来对文件进行管理,通过文件指针来对文件进行访问,既可以读写字符.字符串.格式化数据,也可以读写二进制数据.非缓冲文件系统依赖于操作系统,通过操作系统的功能对文 ...

  3. c语言指针地址交换程序,C语言-基础教程-指针的地址分配

    我们可以定义指针变量指向任何类型的变量.在上述的处理过程中,指针变量指向的变量通过传递变量的地址来实现.指针变量的取值是内存的地址,这个地址应当是安全的,不可以是随意的,否则,写入内存单元的值将会使得 ...

  4. c+语言基础教程pdf下载,C语言基础教程.PDF

    目錄 Introduction 1.1 入门教程 1.2 helloworld 1.2.1 数值 .字符与字符串 1.2.2 运算符及表达式 1.2.3 选择结构与循环结构 1.2.4 函数基本概念及 ...

  5. %3c- r语言运算符,R语言基础教程之运算符

    原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...

  6. c语言常量类型转换,c语言基础教程常量变量和类型转换,免费版.doc

    c语言基础教程常量变量和类型转换,免费版 第二章??????常量变量和类型转换2.1.1数字常量??? 数字常量包括整型常量和浮点型常量,浮点型常量又称实数.????1.整型常量???? HYPERL ...

  7. 计算机编程c 语言实型数据,C语言-基础教程-C语言实型数据

    C语言-基础教程-C语言实型数据 分类:计算机等级 | 更新时间:2016-07-08| 来源:转载 2.4.1 实型常量 实型常量又称浮点常量,是一个十进制表示的符号实数.符号实数的值包括整数部分. ...

  8. Go语言基础教程:版本选择

    专题目标:打造Go语言新手入门零基础免费教程 文章核心:一次只解决一个问题,用尽可能短的时间 你好,我是洋一,一个持续向上生长的互联网人. 众所周知,我们学习一门编程语言,很大程度上都离不开搭建该编程 ...

  9. R语言基础教程6:程序设计基础

    R语言基础教程1:数据类型 R语言基础教程2:散点图 R语言基础教程3:曲线图.误差线和图例 R语言基础教程4:柱形图 R语言基础教程5:图形页面排版 R语言基础教程6:程序设计基础 R语言基础教程7 ...

最新文章

  1. Tomcat6 内存和线程配置
  2. ubuntu apt-get彻底卸载软件包
  3. Qt for ios 打开相机(添加权限)
  4. 实验 3 编程,编译,连接,跟踪
  5. scala的stream流
  6. java过滤器对ext异步,拦截EXT请求的过滤器
  7. python列表推导式求完全数_Python列表推导式(List comprehension)
  8. 程序员面试题100题第14题-圆圈中最后剩下的数字
  9. 《R语言初学指南》一1.2 向量
  10. 毕业设计 基于单片机的智能蓝牙密码锁设计与实现
  11. 北京国际学校IB考试均分稳得一匹,IB考试结果揭秘
  12. MTFCSGO准心设置
  13. 2019牛客多校 第七场 B Irreducible Polynomial 多项式因式分解判断
  14. execl筛选去重_Excel中表格筛选去重复项的操作方法
  15. 运城达内java毕业生分享如何提高网站优化效率
  16. 初学ue4#2 制作3d视角人物part2
  17. 护眼灯显色指数怎么选择?护眼灯显色指数80和90的区别是什么
  18. 转 《光明日报》:“大数据面前,统计学的价值在哪里”
  19. 开发者论坛一周精粹(第七十一期) 国外企业备案解答 邮箱只能发不能收...
  20. 中国电子实验记录(ELN)系统行业研究报告(2022版)

热门文章

  1. 代码审计:企业级web代码安全架构读书笔记(一)
  2. ncae的c语言编程高阶怎么考,NCAE考试科目..doc
  3. 对要学习编程人员的忠告
  4. (转)从奴隶到程序员的十年历程
  5. Scylladb 高可用测试结果
  6. J-Word Search
  7. 实验室常用培养基配置 LB LA
  8. Python如何自制包、如何安装自己的包并导入
  9. Word 使用技巧大全
  10. 厦理OJ——1003:第三届程序设计大赛 让气球飞起来