在C++中可以定义 char a[]吗,他和char a[n]有什么区别?

在定义一个不知道元素个数的数组时,可以有几种方法:
还没人回答我真正想问的 可以直接定义char a[]吗,并不是二楼说的char a[]="",并没有初始化;
最新回答
长青诗

2024-09-30 00:15:21

1、如果是定义一个数组(元素个数给出),这两个没有区别。
2、如上楼所说,如果没给定【数组】,是不能直接用这两个定义。
3、定义不知道元素个数的数组时,你首先必须得申请个足够大的内存空间,此时,用char a[n]要好,N要足够大,则在编写程序前要 vector array(len),这就申请了变长数组;len*sizeof(类型)(这个一般申请int类型的较为常见)之后,用指针向NEW分配长度为len*sizeof(类型)内存空间。
相思故

2024-09-30 01:53:49

char array[];//不可以 必须指明数组元素的个数

例如:
int n;
int *array = new int [n];// 动态
delete [] array;
vector <int> _array (n);//向量
~vector();
灼灼

2024-09-30 02:06:01

char a[]不可以,必须明确个数;
char *a = new char [n];虽然定义了n个,但可以不全用
人不行不怪路不平

2024-09-30 00:26:56

用char a[]=" "这里是固定的
chara[n]肯定的了

char *a;这个可以输入很多,不固定
别的不知道了
薄荷梦

2024-09-30 03:12:28

动态内存分配
new delete
还可以用自带的
vector
Stack
等模板容器类