字符数组的定义

如题,chars[];即定义一个字符数组,这样的定义编译为什么不能通过?一定要在定义的时候限定大小或者给他初始化吗?... 如题,char s[];即定义一个字符数组,这样的定义编译为什么不能通过?一定要在定义的时候限定大小或者给他初始化吗? 展开
 我来答
小夏聊生活
高能答主

2019-12-11 · 专注于分享生活知识,热爱生活
小夏聊生活
采纳数:447 获赞数:114613

向TA提问 私信TA
展开全部

c语言中,没有专门的字符串变量,而是将字符串存入字符数组来处理。

即用一个一维数组来存放一个字符串,每个元素存放一个字符。

如:char c[5]; 

字符数组是数组的一个特殊情况,但它的定义方法与上述介绍的类似;引用方法可以与上述介绍的同,也有其独特的引用方法;由于字符型与整型是相互通用的,因此上面定义也可改为:int c[5]。

扩展资料

字符数组的初始化

按元素赋初值

如static char c[10]={'s','t','o','r','e'};

注意:static char c[10]; 则 c[0],c[1],...,c[9]初值均为'\0';

但若char c[10]; 则c[0],c[1],...,c[9]的值是未知的。

在c语言中,将字符串作为字符数组来处理,即用一个一维数组来存放一个字符串。如:c[10]存放字符串"store"。为了测定实际字符串长度,c语言规定了一个“字符串结束标志”,即‘\0’时,表示字符串结束。

参考资料来源:百度百科-字符数组

tanarri
推荐于2017-11-23 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8156万
展开全部
对,要么像char s[10]这样限定大小,要么通过初始化限定大小,如char s[]="12345";
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
paipai880429
2010-10-29 · TA获得超过154个赞
知道答主
回答量:65
采纳率:0%
帮助的人:0
展开全部
是的 这样定义是不能通过的,首先你这是C语言风格的字符数组,在C语言中,你必须指定分配多少的内存给这个变量,所以要么是char s[10];要么就直接初始化。另外如果你想达到不分配内存的目的,c++中可以定义string,比如说 string s;然后再s="1234";或者别的操作,这是可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fyggyf
2010-10-29 · TA获得超过697个赞
知道小有建树答主
回答量:645
采纳率:100%
帮助的人:545万
展开全部
c里面声明数组的话必须指定大小。例如:char s[NUM] 其中NUM必须为常量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dd75c07
2010-10-29 · TA获得超过119个赞
知道答主
回答量:130
采纳率:0%
帮助的人:97.1万
展开全部
定义char型指针吧,char * s;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式