C语言中如何定义字符串?

如题所述

可以用数组或指针

数组:

char s[80]="abcd";或者char s[80]={"abcd"};     /*说明:自动加字符串结束标志:\0*/

char s[80]={"a","b","c","d","\0"};

指针:

char *s;char*s="abcd";

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30
一维和二维的都可以;
一维的情况如下:
1,char string0[10];
2,char string1[]="prison break";
3,char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'\0'),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的'\0');
二维的情况如下:
1,char string3[6][30];
2,char string3[6][30]=;
此句表示有6个字符串,每个字符串的长度为30,每个字符串的初始值与“joy","phosee","monses","chandele","ross","rather"相对应;
本回答被提问者和网友采纳
第2个回答  推荐于2017-10-09

可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。


下面通过举例来分别进行说明:

char str1[] = "HelloWorld";  // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符

char *str2  = "HelloWorld";  // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址

#define str3 "HelloWorld";  // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"

第3个回答  2019-03-02
C语言每个字符串后面都有一个\0作为结尾,你的b没有\0作为字符串结尾,所以后面内存中的内容都一起显示了
在你的for循环结束以后加一个b[t]
=
'\0'
第4个回答  2019-04-29
因为字符串是以'\0'结尾的哈,再则你定义的字符串长度是80哈,如果没到指定的长度,系统会自动补充的,就正如你的程序运行效果;有一下的解决方法:
1.拷贝后,在字符串末尾添加'\0';
2.输入你指定的字符串长度哈

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网