仁波切与堪布与上师:有请各路英雄帮忙———怎样使用C++字符数组?

来源:百度文库 编辑:中科新闻网 时间:2024/05/08 06:15:52
有请各路英雄帮忙:
怎么定义100个长度为10的字符串,是不是要用到数组?
我是这样定义的:char c[100][10]; 但是这样使用不了。
我应当怎样定义呢?先谢了!!

如果你想用字符数组来完成这个功能,也就是char的话,就要这样:
首先,你要知道怎样产生一个字符串.一个字符串是由N个字符组成,在N个字符的最后再加一个'\0'表示字符串的结尾.但我们通常不用N个char去操作它,我们只需要这个字符串第一个char的指针, 就是一个char*,这样,后面的char我们都可以用这个指针通过++或者--全部遍历到.
也就是说,一个字符串就是由一个char*控制.
100个字符串就要100个char*了,直接
char* C[100];就会产生出100个char*.然而这时每个char*都并没指向任何内存,这些全是空悬指针.要让他们每个都指向一个长度为10的字符串的话,就需要用到new 来分配内存空间.
用For循环吧:
for(int i=0; i<=99; ++i)
{
C[i] = new char[11];
}

搞定收工,为什么要申请11个char的空间呢,因为,每个字符串最后都要有个'\0'表示结尾,所以实际上11个char的位置只能表示长度为10的字符串而已.

完毕!呵呵,现在数组C就是表示100个长度为10的字符串了

可以用String c[100]
或者用指针
(char *c)[100]

应该是这么声明的,试试吧,好久没用 C++ 控制台了,呵呵