谁能给我讲讲C语言中字符串是怎么定义的?自己看书不理解.

 我来答
找热门电影
2012-08-29 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:69.8万
展开全部

字符串定义其实很简单在c/c++语言中定义一个字符串可以使用如下的语法:

char *s1=“string1”;//定义字符串常量,指针形式

char s2[]=“string2”;//定义字符串常量,数组形式

char *s3=new char[10];//定义字符串变量并分配内存 指针形式

strcpy(s3,"string3");//为s3赋值

char s4[10];//定义字符串变量,数组形式

strcpy(s4,"string4");//为s4赋值

以上四种方法都能定义一个字符串,同时通过字符串在内存中的分布可以清楚地知道是什么情况

kaixingui2012
2012-08-29 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6404万
展开全部
字符串可以看成就是一个字符类型的数组。
我想整型的数组你应该理解,如:int ai[10]; 就是定义一个数组变量,其名称为ai,它的容量为10,即ai数组变量中,可以存放10个整型数据。

当变量类型为char时,这样的数组就叫作字符数组,如:char ac[12]; 其名称为ac,它的容量为12,即ac数组变量中,可以存放12个字符型数据。

但是我们一般情况下,很少真正的应用字符数组,而是将之当作一个字符串来使用!
字符串与字符型数组的唯一区别就是:字符串中存放的有效数据最大为容量数-1,因为,系统规定,对于字符串,一定要有一个结束标志,这个标志为字符'\0',其ASCII值为0。
系统根据这个标志来判断字符串的长度。
如:上边定义的char ac[12],最多只能存放11个字符。
strcpy( ac , "hello" ); //这里,按数组来看,就是:
ac[0]='h'
ac[1]='e'
ac[2]='l'
ac[3]='l'
ac[4]='o'
ac[5]='\0'

以双引号引起来的一串字符叫作字符串常量,其占空间大小为可见字符个数+1,加的1就是指'\0'的存放位置, 其长度就是可见字符个数。

根据以上简单提示再看看书,理解一下吧。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-08-29
展开全部
枚举的主要目的,我觉得就是使代码的可读性更好。如果没有枚举,其所要实现的功能也可以通过其它方式实现。
enum 枚举名{枚举值1,枚举值2,枚举值3,.....}
枚举值本身就是一个符号,但是它又有一个int值的属性。可以看看书,就不多说了。枚举值就是一些命名,通过其命名就能知道其真正的意义。

比如一个扑克牌花色的枚举类型
enum color{heart,spade,diamond,club}
你也可以自己默认用0表示heart,1表示spade,2表示diamond,3表示club。在判断花色时,
if(color==0)....
else if(color==1)....
else if(color==2)...
else...
这样,阅读性很差,你根本无法通过这些数字判断出来时什么花色,可能要开相关的文档。非常不利于排查错误和后期的维护。

你也可以使用define定义
#define heart 0
#define spade 1
#define diamond 2
#define club 3
但是这么多个define明显是不必要的,enum就不让你写这么多define了

访问枚举变量就用枚举名.枚举值
这样在程序的其它地方出现color.heart 时,你可以很清楚是牌的花色是红桃
追问
你弄错了吧?能不能给讲讲字符串怎么理解.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式