首页 > 代码库 > C++中,申请字符串数组可用new实现

C++中,申请字符串数组可用new实现

C++中,申请字符串数组可用new实现:

char ** list = new char*[MAX_NUM];

for (int i = 0; i< MAX_LOOP; i++)

list[i] = new char[STR_LEN];

 

当然也可以不用上面的for()循环,在指定下标的 list[] 分配指定长度的char数组。例如:

char a[100];

……

int str_len = strlen(a);

list[id] = new char[str_len+1];

strncpy(list[id], a, str_len);

list[id][str_len] = 0;

 

在使用时,需要检测是否初始化。

if (list[id] != NULL)

……;

 

与new对应,用delete释放申请的指针,未初始化的指针是可以用delete的。

for (int i = 0; i < MAX_LOOP; i++)

delete[] list[i];

 

如果是使用vector<string>,则通过 if (list[qid] != “”) 检测是否初始化。