c语言字符串数组和字符数组有什么区别?

char a[]={'a','b','c','d','\0'};这个是字符串数组还是字符数组

这个是字符数组。

C语言字符数组和字符串的区别,字符数组是一个存储字符的数组,
而字符串是一个用双括号括起来的以'\0'结束的字符序列,虽然字
符串是存储在字符数组中的,但是一定要注意字符串的结束标志是'\0'。

总的来说是没有区别的,字符串就是以字符数组形式存储的。可以
把一个字符串看成是一个字符数组,可以按数组那样操作。两者没
有本质的区别,只是在不同的情况下有不同的叫法。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-01
char a[]={'a','b','c','d','\0'};这个字符数组char a[][]={"sasa","dadad","rerf"};这个的话可以说是一个字符串数组。一维的字符数组是就如char a[]={'a','b','c','d','\0'};二维的字符数组是就如char a[][]={"sasa","dadad","rerf",可以说二维的字符数组就是字符串数组本回答被网友采纳
第2个回答  2014-01-07
这个是字符数组,没有字符串数组这种说法的。。 char a[ ]="abcd";就是可以用字符串给字符数组初始化
第3个回答  2014-01-07
字符串本身就是一数组(c风格字符串),以0字符结尾
这里的a说成是字符数组没问题,说成是字符串也对
因为c里字符串的组织形式本质就是数组本回答被网友采纳
第4个回答  2016-11-08
int array[10];
char array[10];

第2行是字符数组,也就是说此时的数组在内存中是一段连续的存储空间,这一段空间 里面的单位是1个字节一个字节的。好比火车一节一节连接在一起,通俗来说字符数组里面装的都是字符

第1行是整形数组,也就是说此时的数组在内存中是一段连续的存储空间,这一段空间 里面的单位是2(或4字节)个字节2个字节的。好比火车2节2节连接在一起,通俗来说整形数组里面装的都是int型整数

不过你说的这个问题看你看问题的角度了。本质区别?用法区别?等等······

我跟你讲的是内存中的区别。

共同点:都是连续的空间。

不同的:单元长度不一样。

相似回答