在一个程序中,我必须从输入中扫描
scanf("%s",currWord);
未定义数量的单词,它们出现在未定义的行数中。
我想把单词放在一个二维的字符串数组中。字符串的长度是固定的[MAX_WORD_LEN+1]
我的想法是:
int row=10 //10 lines for starting
int col=5 //5 words in each line for starting
int i;
typedef char word[MAX_WORD_LEN+1]; //new type of 11char lenght string
word** matrix; //2 dimensional array (pointers) with no memory
matrix = malloc(row*sizeof(word*)); //allocate row number of word* (word pointer) size
for(i=0;i<row;i++)
{
matrix[i] = malloc(col*sizeof(word)); //allocate col number of words to each row
}
所以,我不知道这是否正确。
我会很高兴获得一些帮助和提示..
编辑:
从输入中接收单词时,如果需要,我必须增加内存(行数和每行中的单词),我该怎么做?(重新分配?)
我需要执行以下操作: