c字符串存储
Ⅰ 在c语言中,字符型数据在内存中以何种形式存放
C语言中,用Char定义一个变量,系统会为这个变量分配一个字节的空间,只能存放一个字符,如果是一串字符,就要用char定义一个数组,来存放字符串。
比如,你想存放一个字符串“Fuzhou”(一个以上字符),可以定义一个字符数组,假设数组名起名为cname,采用下列代码
char cname[]="Fuzhou";
或者
char cname[7];
cname[0]='F';
cname[1]='u';
cname[2]='z';
cname[3]='h';
cname[4]='o';
cname[5]='u';
cname[6]='\0';
前者是定义时赋值(初始化),后者是先定义后赋值,最后一个‘\0’,是字符串结束的标志。
C语言中,没有专门定义字符串的数据类型,但有一些关于字符串运算的函数。
Ⅱ C语言字符串储存定义变量问题
char [99]------>表示一行茄野字符串(题外话:它只有长度,没有宽度)
char [99][99]------>表示多行字符串(或者叫二维表), 把它想象成书本的一老卖页, 一页上有多行侍纳逗字符串(这下有宽度了)
char [99][99][99]------>表示多行字符串(表)的数组, 想象成一本书, 是许多页的集合, 每页上又有许多行字符串(高度的属性也有了)
Ⅲ C语言中字符串的存储以及输出问题
1.
换行是puts的自带技能,使用puts会自动换行
2.
char c[]={'H','i','\0'};跟char c[]={'H','i'}; 长度不一样,它们的区别就是一般字符数组和字符串的区别
// 这里字符数组c的长度为3,包含'H','i','\0'这三个元素,其中'\0'为字符串结束符
// c可以作为字符串使用,等效于char c[]="Hi";
char c[]={'H','i','\0'};// 这里字符数组c的长度为2,包含'H','i'这两个元素,不含字符串结束符
// c只是一个字符数组,不能作为字符串使用;
char c[]={'H','i'}; 用printf()函数输出看看就能更明白了。
还有问题的话可以继续追问。
Ⅳ c语言中字符型数据在内存中的存储形式是
字符型数据在内存中储存的是它的ASCII码值,它是一个字节,所有数据类型在内存中都是以0和1代码二进制储存的,这个原则不会变。
在C语言中,char型数据是将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。
编码中,一个汉字字符存储需要2个字节。在UTF-8编码中,一个英文字母字符存储手明需要1个字节,一个汉字字符储存需要3到4个字节。在UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节。在UTF-32编码中,世界上任何字符的存储都需要4个字节。
(4)c字符串存储扩展阅读:
由于标准 ASCII字符集字符数目有限,首薯铅在实际应用中往往无法满足要求。为此,国际标准化组织又制定了 ISO2022 标准,它规定了在保持与 ISO646 兼容的前提下将 ASCII字符集扩充为 8 位代码的统一方法。
ISO 陆续制定了一批适用于不同地区的扩充 ASCII字符集,每种扩充 ASCII 字符集分别可以扩充 128 个字符,这些扩充字符的编码均为高位为 1 的 8 位代码(即十进制数 128~255 ),称为扩展 ASCII 码。
Ⅳ C语言中字符数组只能存放字符串
不是的,C语言中字符数组既者游可以保存字符,又可以保存字符串。
字符数组本意就是是指用来存放字符数据的数组。字符数组的元素是字符类型的。字符数组用于存放字符或字符串。
C语言中字符数组的一般形式为: char 数组名[数据长度] 。例如:char a[10]; a[0]='0'; a[1]=' 1'; a[2]='2'; a[3]='3'; a[4]='4'; a[5]='5'; a[6]=' 6'; a[7]='7'; a[8]='8'; a[9]='9'; 就定义了a为字符数组,包含10个销哗"0"到“9”的字符元素。
因此,C语言中字符数组不单单只能保存字符串。
(5)c字符串存储扩展阅读:
字符数组的初始化:
字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。
用字符常量逐个初始化数组。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素。
如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中首斗销提供的初值个数(即字符个数)大于数组长度,则出现语法错误。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'