C 语言中并不存在字符串这个数据类型,而是使用字符数组来保存字符串。那么,字符数组就一定是字符串吗?

对于这个问题,大多教科书中的回答是“是”。其实不然,字符数组和字符串是完全不相同的两个概念,千万不要混淆。分析如下所示的示例代码。

#include #include int main(void) { /*字符数组赋初值*/ char cArr[] = {'I','L','O','V','E','C'}; /*字符串赋初值*/ char sArr[] = "ILOVEC"; /*用sizeof()求长度*/ printf("cArr的长度=%dn", sizeof(cArr)); printf("sArr的长度=%dn", sizeof(sArr)); /*用strlen()求长度*/ printf("cArr的长度=%dn", strlen(cArr)); printf("sArr的长度=%dn", strlen(sArr)); /*用printf的%s打印内容*/ printf("cArr的内容=%sn", cArr); printf("sArr的内容=%sn", sArr); return 0; }

运行结果为:

cArr的长度=6

sArr的长度=7

cArr的长度=7

sArr的长度=6

cArr的内容=ILOVEC'

sArr的内容=ILOVEC

从代码及其运行结果中可以看出如下几点。

首先,从概念上讲,cArr 是一个字符数组,而 sArr 是一个字符串。因此,对于 sArr,编译时会自动在末尾增加一个 null 字符(也就是'

php和c语言的字符数组中,字符数组和字符串的区别,C语言字符数组和字符串区别详解...相关推荐

  1. Java黑皮书课后题第7章:*7.20(修改选择排序法)在7.11节中,使用了选择排序法对数组排序。改写7.11节程序,重复地在当前数组中找到最大值,然后将这个最大值与该数组中的最后一个数进行交换

    7.20(修改选择排序法)在7.11节中,使用了选择排序法对数组排序.改写7.11节程序,重复地在当前数组中找到最大值,然后将这个最大值与该数组中的最后一个数进行交换 题目 题目描述 破题 代码 运行 ...

  2. 两个数组中对应的下标的值合成一个新的数组_剑指 offer 面试题精选图解 03 . 数组中重复的数字

    今天分享的题目来源于 LeetCode 上的剑指 Offer 系列 面试题03. 数组中重复的数字. 题目链接:https://leetcode-cn.com/problems/shu-zu-zhon ...

  3. 数组去重:将一数组中重复的元素去掉剩余部分保存到新数组中

    思路:将旧数组中不重复的元素选取出来放到新数组中,重复的元素只保留一个放到新数组中.首先,需要定义一个新数组用来把保存元素,使用for循环来对旧数组进行遍历.根据旧数组中的元素去查询新数组,利用if条 ...

  4. python匿名基数(lamdba):给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True;如果数组中每个元素互不相同,返回False,用一行代码解决

    """ 给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True:如果数组中每个元素互不相同,返回False,用一行代码解决 例: nums = [1,2, ...

  5. 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解

    第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一.    引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰 ...

  6. c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...

    matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...

  7. 力扣(LeetCode)215. 数组中的第K个最大元素(C语言)

    一.环境说明 本文是 LeetCode 215题 : 数组中的第K个最大元素,使用c语言实现. 快速选择.查找无序数组的利器! 测试环境:Visual Studio 2019. 二.代码展示 void ...

  8. 数组中其余的排除_带你一步步精通数组之十五:数组的计算规律之五

    大家好,今日我们还接着讲解数组的计算规律,老规矩,还是先回顾一下之前讲解的四种数组的运算规律: 第一种:行列数相同数组的运算规律:是对应元素间进行运算,并返回同样大小的数组. 第二种:一个数组与一个单 ...

  9. 28 数组中出现次数超过一半的数MoreThanHalfNum输入一个一维数组

    题目:数组中出现次数超过一半的数 要求:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超 ...

  10. bat从数组中找出相同数字并删除_找到所有数组中消失的数字

    题目描述 给定一个范围在  1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次. 找到所有在 [1, n] 范围之间没有出现在数组中的数字. ...

最新文章

  1. 发布了!2020年AI人才发展报告,最高补助1000万!
  2. tensorflow 的输入层和输出层维度注意事项
  3. 电话连线(最小生成树)
  4. vscode中调试react
  5. LeetCode刷题: 整数反转
  6. [Java基础]体验Lambda表达式
  7. 专访阿里云专有云马劲,一个理性的理想主义者
  8. 设计干货栅格系统素材 | UI设计师应用好帮手
  9. sql dbcc_SQL Server中的DBCC命令的概念和基础
  10. Toolbar的困惑
  11. 计算机硬盘ssd,怎样判断电脑装的是不是固态硬盘
  12. web批量打印pdf
  13. Ubuntu下安装honeyd
  14. 详解冯诺依曼体系结构与操作系统
  15. 终端的乐趣--Linux下有趣的终端命令或者工具【转】
  16. 矩阵乘法 mpi c语言,MPI实现矩阵相乘
  17. [生存志] 第26节 历代大事件概览 明朝
  18. OpenGL: WIN7的64BIT下OPENGL着色语言(GLSL)开发环境配置
  19. CNZZ统计代码异步加载教程
  20. 网络宽带和实际下载速度单位换算详解:

热门文章

  1. sysbench --with-mysql-libs_linux安装sysbench
  2. metrics类型 普罗米修斯_AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控...
  3. id,rowid,rownum 区别
  4. android ssl http,Android SSL HTTP请求使用自签名证书和CA
  5. PG基于pgpool-II实现读写分离和负载均衡
  6. vit-pytorch
  7. java里ssm框架分页代码_SSM框架实现分页查询例子
  8. 揭阳学计算机的好学校,揭阳初中排名2020最新排名,揭阳初中排名前十的学校有哪些...
  9. python numpy中对ndarry按照index(位置下标)增删改查
  10. numpy使用where函数定位满足条件的下标