鱿鱼卷:c++数组初始化的问题!!

来源:百度文库 编辑:高校问答 时间:2024/04/29 11:32:27
如果用不定大小的数组应该注意什么?应该如何运用?

比如定义的时候不赋值.比如:
char str[];
.
.
.
str[]="........."
能否行的通?如果不能行通如何动态赋值呢?

可以char str[];但是这只是指针,不是数组

因为C++不允许这样初始化数组

但是你可以这样
int n;
char *str;
cin>>n;
str=new((char)n);
cin.getline(str);
然后再输入想要的字符串
(其中n是你要输入字符数+1,因为最后一位是'\n')

C++不允许象JAVA那样定义不定数组char str[];
但是对于字符串,你可以申明一个字符串指针,然后指向一个字符串常量.所以,你可以这样写:

char *p;
p = "abcde";

用指针进行动态分配
char *str;
str = new char[n]; //分配
...
delete []str; //回收