Куда указывает указатель "char ** strData"? - PullRequest
0 голосов
/ 25 марта 2019

Из кода здесь есть указатель char **strData = NULL; в строке 12. Я новичок в C и указателях. Я получаю, что это указатель, который указывает на другой указатель. Я просто не вижу другого указателя.

Может ли кто-нибудь мне помочь?

1 Ответ

3 голосов
/ 25 марта 2019

strData = (char**)realloc(strData, sizeof(char**)*(noOfLines+1)); находится в цикле while, поэтому strData указывает на блок памяти, который может содержать указатель.sizeof(char**) должно быть sizeof(char*).

За ним следует strData[noOfLines] = (char*)calloc(MAX_LEN,sizeof(char));, то есть указатель, который вы просили.

Так что strData указывает на блок указателей, strData[i] указывает на блок char с.

...