天天看點

定義動态的二維數組

如果我們想定義一個動态字元串數組來儲存班級上一個同學的名字,我們可以:

char *name = (char *)calloc(n, sizeof(char));

那麼如果班上有n個同學,我們想定義一個動态的二維數組來儲存每一個同學的名字該怎麼辦。這時候可能就需要用for循環來逐個輸入數組來完成了:

char **name = (char **)calloc(n, sizeof(char *));
for(int i = 0; i < n; i++)
{
	char *name[i] = (char *)calloc(m, sizeof);
}
           

如果需要三維數組的話隻要在外層再加一層for循環就可以了,但是在釋放記憶體時也需要逐層釋放

for(int i = 0; i < n; i++)
{
	free(name[i]);
	name[i] = 0;
}
           

繼續閱讀