c语言字符数组的存储
Ⅰ c语言中定义一个字符数组,其中存放的是什么
在C语言中,字符数组中存放的内容中字符的ASC码。如果在定义过程中没有赋初值,则数组中的元素都为0。如
char c[10];
定义了c是一个字符数组共有10个元素c[0]、c[1]……c[9],因为没有赋初值,所以这10个元素的值都是0。
如果定义时赋了初值,或在程序中赋元素的值,则该元素保存对应字符的ASC码值。如:
char c[10]="ABCD";
则元素
a[0]=65 //'A'的ASC码是65
a[1]=66 //'B'的ASC码是66
a[2]=67 //'C'的ASC码是67
a[3]=68 //'D'的ASC码是68
在程序中,a[0]='A'和a[0]=65是等价的。
验证:
char a[10]="ABCD";
printf("%d %c\n",a[0],a[0]); //输出65 A
printf("%d %c\n",a[3],a[3]); //输出68 D
a[3]=65;
printf("%d %c\n",a[3],a[3]); //输出65 A
printf("%d",a[6]); // 输出0 因为没有赋a[6]初值,所以其值为0
Ⅱ C语言中, 字符数组只能存放字符串吗
不是,也可以存放其他的信息。 但是在C语言中因为没有byte类型,而char类型只占一个字符大小。所以声明一个字符数组可以用作缓冲区。 因为可以定位到每一个字节,所以非常灵活。 如果定义一个整形数组当然就不能定位到每一个字节了,它必须一次访问两个字节(在编译器和操作系统认为int型占两个字节时)
Ⅲ 在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语言中怎么把字符数组里的数据存放到字符串数组中
利用C语言标准库中的strtok()函数,可以轻松快捷的将以空格分隔开的一串字符分成多个子串,存放到字符指针数组中。
函数说明:
#include <string.h> //头文件
char *strtok(char *str, const char *delim);
strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数str的字符串中发现参数delim中包涵的分割字符时,则会将该字符改为 字符。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL。每次调用成功则返回指向被分割出片段的头指针。当没有被分割的串时则返回NULL。
参考代码:
Ⅳ C语言怎么定义多个数组储存字符串,又要求逐个输入
需要准备的材料分别有:电脑陵虚、C语言编译器。
1、首先,枝含打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
Ⅵ 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语言中字符数组不单单只能保存字符串。
(6)c语言字符数组的存储扩展阅读:
字符数组的初始化:
字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。
用字符常量逐个初始化数组。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素。
如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'