目前,我对重新分配数组字符串有些困惑。如果我有这个:
char** str = (char**)malloc(100*sizeof(char*));
str[0] = (char*)malloc(sizeof(char)*7); //allocate a space for string size 7
//some other code that make the array full
我的问题是,如果我想重新分配str[0]
到 size 8
,我是否需要重新分配两者str
,str[0]
就像这样:
str = (char**)realloc(str,sizeof(char*)*101);
str[0] = (char*)realloc(str[0],sizeof(char)*8);
它是否正确?