str[10]=“string”和str[10]={“string”}等价吗,明明是一个字符串,与

str[10]=“string”和str[10]={“string”}等价吗,明明是一个字符串,与一个字符串数组啊

第1个回答  2015-07-29
C语言里面没有字符串类,C++里面有字符串类型(sting)
C语言用字符数组来表示字符串。所以你声明的时候应该是下面的情况
char str[10]="string";
char str1[10]={"string"];
str 与 str1都是字符型数组,里面存放的都是字符,实现的是逐一赋值
即;str[0]=‘s’;str[1]=t;.......str[5]=‘g’;str[6]=‘\0’;('\0'是字符串结尾,知道吧,输出的时候不显示的。也不算做字符串长度);
str1与str是一样的,追问

那你说的是第一个,第二个,应该是str1【1】=“string”,str1【2】=‘0’,......又怎么一样呢?

追答

第二个str1[10]进行赋值的时候,跟第一个一样
str1[0]=‘s’,str1[1]=‘t’ 。。。。。str1[6]=‘\0’;
这是一个字符型数组,里面只能存放一个字符,
按你说的,str1[1]=“string”;这就成字符串数组了(string。c++有这个变量类型)。如果没学。那就可以用 char *str[10];这样str[0]=“string”。表示里面个有10个指针,每个指针都可以指向字符串;

本回答被网友采纳
相似回答