当前位置:首页 » 编程语言 » c语言保存字符串

c语言保存字符串

发布时间: 2023-11-18 00:27:37

c语言中char可以存字符吗

char是容纳单字符的一种基本数据类型,不能存储汉字,(一个汉字占2字节)
存储字符串用string,其实String就是一个char的数组,不过它当中的元素多一个‘'在数组的最后,表示结束
例如字符串abcd
char a[]={'a','b','c','d',''};
是等价的。而且一个变量只能存一个字符;如果要存多个则用string(字符串)类型。

(1)c语言保存字符串扩展阅读:

char是C/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的,有些编译器如pSOS的编译器,还可以通过编译开关来指定它是有符号数还是无符号数。

在MYSQL中,字段类型char是指:使用指定长度的固定长度表示的字符串;比如char(8),则数据库会使用固定的1个字节(八位)来存储数据,不足8位的字符串在其后补空字符。

❷ 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语言中字符数组不单单只能保存字符串。

(2)c语言保存字符串扩展阅读:

字符数组的初始化:

字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。

用字符常量逐个初始化数组。例如:char a[8]={'i','l','o','v','e','y','o','u'};把8个字符依次分别赋给c[0]~c[7]这8个元素。

如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即'')。

❸ C语言是怎么存储字符串的末尾的\0需要自己手动输入吗

C语言中的字符串,应该说是指字符串常量,如:"hello",
"how
are
u"等,这些常量字符串本身在末尾存有一个\0,因\0是不可见字符,所以,看不到。
可以把字符串存储到一个字符数组中,存储方法分为三种:
1、定义字符数组,用常量字符串进行初始化
char str1[10]="hello"; //sizeof(str1)=10
char str2[]="how are u" ; //未指定数组大小,按初始化字符串实际大小开辟数组空间,sizeof(str2)=10 ; 9个字符+1个\0 通过此方法,可以验证常量字符串中含有\0
2、定义字符数组,不初始化,采用字符串赋值操作函数进行赋值
char str[100];
strcpy( str, "hello"); //字符串拷贝
sprintf(str, "%s world", "hello"); //格式化输入,得到hello world
以上函数会自动在字符串尾赋值字符串结束符
3、定义字符数组,不初始化,采用循环,逐位赋值字符,并在结束位置赋值\0
char str1[10];
char str2[]="hello" ;
int i,j;
for(i=0,j=0;str2[i]!='\0';i++ ) //遍历字符串str2
if ( i%2 ) //只取偶数位
str1[j++]=str2[i];
str1[j]='\0'; //手动赋值结束符

❹ C语言用什么贮存字符串数据

1.字符串用字符数组保存。
2.在读取字符串时,要用 %s 格式控制符,而不是 %c
3.字符串的比较不能用相等操作符(==),而要用strcmp()函数(需要包含string.h头文件)。

例如你的程序中要比较n和"Maiiho"是否相等,应该用以下表达式:
if (!strcmp(n,"Maiiho")) /*如果要比较的两个字符串相等,strcmp()函数返回0,否则返回非0值*/

❺ C语言中是用字符串变量来存放字符串 是对还是错 为什么

C语言中,没有字符串这种数据类型,是用字符数组来存放字符串,所以这种说法是错的

热点内容
openwrt编译需要网络吗 发布:2025-01-28 03:49:16 浏览:683
网易云上传歌词手机 发布:2025-01-28 03:42:51 浏览:61
m3u8缓存文件 发布:2025-01-28 03:42:51 浏览:547
编程算损耗 发布:2025-01-28 03:33:03 浏览:456
sql存储过程返回多个结果 发布:2025-01-28 03:24:03 浏览:463
长安欧尚科赛哪个配置值得购买 发布:2025-01-28 03:19:35 浏览:116
c全排列算法 发布:2025-01-28 03:18:16 浏览:754
梵蒂冈顶级时装ftp 发布:2025-01-28 03:03:36 浏览:695
手游脚本有前途吗 发布:2025-01-28 02:46:55 浏览:379
抓包编程 发布:2025-01-28 02:42:41 浏览:930