问题如下。我有一个空指针,我想用它分配字符串数组。是否可以像这样将 void* 转换为字符**:
void* ptr = (char**)calloc(size, sizeof(char*))
然后分配该表的每一行?我目前的想法已经用完了。
伪代码,应该能满足你的需求。
char **ptr = NULL;
// Allocates an array of pointers
ptr = malloc(sizeof(char *) * (NUM_OF_STRINGS_IN_ARRAY));
If (ptr == NULL)
return; // Do error handling here
for (int i =0; i < NUM_OF_STRINGS_IN_ARRAY; i++)
{
// Allocates each string in the array.
ptr[i] = malloc(strlen(STRING));
if (ptr[i] == NULL)
{
return; // Do error handling here
}
}