怎样使用C++字符数组?
答案:1 悬赏:50
解决时间 2021-10-18 16:36
- 提问者网友:沦陷
- 2021-10-18 04:59
怎样使用C++字符数组?
最佳答案
- 二级知识专家网友:低血压的长颈鹿
- 2021-10-18 05:49
如果你想用字符数组来完成这个功能,也就是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的字符串了
首先,你要知道怎样产生一个字符串.一个字符串是由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的字符串了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯