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] != “”) 检测是否初始化。

原文地址:https://www.cnblogs.com/ArRan/p/3701638.html