字符数组的定义
如题,chars[];即定义一个字符数组,这样的定义编译为什么不能通过?一定要在定义的时候限定大小或者给他初始化吗?...
如题,char s[];即定义一个字符数组,这样的定义编译为什么不能通过?一定要在定义的时候限定大小或者给他初始化吗?
展开
展开全部
在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’时,表示字符串结束。
参考资料来源:百度百科-字符数组
展开全部
对,要么像char s[10]这样限定大小,要么通过初始化限定大小,如char s[]="12345";
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的 这样定义是不能通过的,首先你这是C语言风格的字符数组,在C语言中,你必须指定分配多少的内存给这个变量,所以要么是char s[10];要么就直接初始化。另外如果你想达到不分配内存的目的,c++中可以定义string,比如说 string s;然后再s="1234";或者别的操作,这是可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c里面声明数组的话必须指定大小。例如:char s[NUM] 其中NUM必须为常量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义char型指针吧,char * s;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询