在C++中如何给字符串数组定义长度呢?

如题所述

所谓数组就是根据类型来分配内存空间; 那么: 类型*定义的个数=内存上所占的空间大小; 在C++中,可以有字符数组一般的格式是:char 数组名 [个数];在内存中是一单个储存的:列如:char string[27]={"hao ma wo "}; 在内存中是: string[1] [2][3] [4] [5] [6] [7] [8] [9] h a o m a w o 输入的方法是: #include(iostream) main() { char s[5]}; for( int i=0;i<5;i++ ); cin>>s[i]; cout<<s<<endl; } 下面是一些注意事项: C++中有关字符串数组的使用注意事项: C++中实现[字符串数组]的方法是通过定义二维数组来实现的. 数组的初始化: char ch[]={"hello"} / char ch[]={'h','e','l','l','o','\0'} //一一赋值的时候要在结尾加一个空字符'\0',以表结束,空字符本身站用一个空间. char ch[n]; ch="helle" //数组不可以直接赋值 可以通过一一付值的方法或者使用strcpy(目标数组,"愿串")函数. //实现月份和对应的十进制数的对应输出 #include <iostream.h> void main() { char montharg[][10]={"一月","二月","三月","四月","五月", "六月","七月","八月","九月","十月", "十一月","十二月"} //定义多维字符串数组行下标可省略,列下标必须标明 int number[12]={1,2,3,4,5,6,7,8,9,10,11,12}; int temp=0; for(int i=0;i<12;i++) { cout<<montharg[i]<<number[i]<<endl; //按行自动输出 temp+=number[i]; } temp=temp/12; cout<<"AVG is :"<<temp<<endl; } 以上文字仅作参考。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-02
在C++中给字符串(数组)定义长度时,首先要先确定待存储的数据的最大可能长度,根据该长度进行数组长度定义,其次,要记着字符串是有结束符位置的,所以,在数据长度基础上,要给字符串结束符留个位置。如,
题目要求:
输入数据不超过100个字符长度。
则变量定义为:
char data[100+1] ; //建议写成+1这样,表示有效数据为100个,一个是字符串结束符位置
第2个回答  2015-10-05
char s[长度];
声明的时候就限定了长度的
相似回答