C语言中字符数组和字符串的区别

 2024-02-15 04:03:14  阅读 0

请问字符串是如何定义的?

问题编号:12949

字符数组chara[10]={"x","a","a","b"}是一个长度为4的字符串。

答案:正确

问题编号:12951

字符数组chara[5]={"a","b"} 不是字符串。

答案:错误

问题编号:12950

字符数组chara[]={“x”,”\0”,”a”,”\0”}是一个长度为3的字符串。

答案:错误

我认为以上三个都不是字符串。 字符串不就是带有“”的字符集合并且需要终止符吗?

我说的对吗?

这不是chara[5]={"ab\0"} 算作字符串的方式吗?

相当于chara[5]={“a”,“b”,“\0”,“\0”,“\0”}

解决方案

16

C 没有字符串类型。 只要字符数组以\0结尾,就认为是C字符串。

Chara[10]={"x","a","a","b"}后面的字符都会被0填充,所以以\0结尾

同理,chara[5]={"a","b"}也是一样

计算机内存或文件内容或传输内容只是一个一维二进制字节数组及其对应的二进制地址;

人脑将这种一维二进制字节数组的某些部分及其在计算机内存或文件内容或传输内容中对应的二进制地址视为整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文...字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……

建议使用软件查看硬盘或文件或内存的原始字节内容。

细绳:

字符=“abc”; 等价于chara[]={"a","b","c","\0"}; 当然后者也是字符数组,遇到零时字符串的读取会自动停止。 读一下,“abc”是一个常量字符串,里面的内容不能改变,但后者可以。 多读点书。 在所有的学习中,基础非常重要! 鼓励自己!

16

c中所谓的字符串就是一系列字符,也可以理解为用数组存储的一系列字符(char)类型数据。 当然,作为合法的字符串,需要有终止符“\0”。 您还可以用这种形式定义字符指针。 例如,*p="hello" 表示字符指针 p 指向常量字符串“hello”的第一个字符的位置,而这个常量字符串是一个隐式终止符。 “\0”。 当定义char数组来存储字符串时,需要为终止符保留一个空格,例如chara[10]。 该数组最多只能存储 9 个有效字符。 如果写入的有效字符超过9个,要么程序会出错(越界访问),要么字符串无法正确显示(原因是合法边界内没有终止符)

版权所有 | 除特别注明外,均为原创| 本网站根据 BY-NC-SA 协议授权。 转载时请注明C语言中字符数组和字符串的区别!

报酬

[]

标签: 字符 数组 指针

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码