鱿鱼卷:c++数组初始化的问题!!
来源:百度文库 编辑:高校问答 时间:2024/04/29 11:32:27
如果用不定大小的数组应该注意什么?应该如何运用?
比如定义的时候不赋值.比如:
char str[];
.
.
.
str[]="........."
能否行的通?如果不能行通如何动态赋值呢?
比如定义的时候不赋值.比如:
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; //回收