C++ char到底可以存几个字符?

我要疯了,快来个人回答我

不管是C,还是C++,char类型的变量只能存储一个(ASCII码)字符。追问

const char*cities[5]=
{
"Gribble city",
"Gribbletown",
"New Gribble",
"San Gribble",
"Gribble Vista"
};

那为什么这个代码的char可以存那么多字符?

追答

char *cities是char类型指针变量,这个指针变量指向字符串的首地址,这个字符串通常以'\0'作为串结束符,初始化时,可存字符的多少取决于内存的大小,对于 0 <= i < strlen(cities),cities[i]只占用一个字节。
而char *cities[N]是字符串指针数组,该数组的每个元素都是指针。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
char类型 的变量 只存储一个(ASCII码)字符。

const char*cities[5]=
{
"Gribble city",
"Gribbletown",
"New Gribble",
"San Gribble",
"Gribble Vista"
};
这个不是char类型 的变量 是 const char** 类型 的常量本回答被提问者采纳
第2个回答  2014-03-25
楼上说的是char占用一个字节 个人觉得楼主有疑问可能会类似下面语句char* str1 ="abcd"意思是建立一个字符串然后一个char指针指向字符串的首地址追问

。。我可以这么理解吗。。字符串“abcd”其实是地址,然后我们建立的是指向这个地址的char指针。

追答

不能这样理解“abcd”是字符串 不是地址 但语句的意思是把字符串的首地址赋予指针

相似回答