如何将段落转换为句子?我有一个函数签名如下:
char **makeSentences(char *paragraph);
其中:
paragraph
是一个包含多个句子的字符串。段落确保每个句子以句点 (.) 结尾,并且整个段落以空终止符结尾。- 返回动态分配的句子数组。
我对如何动态地为句子数组分配内存有点困惑。
最佳答案
在 makeSentences
中,您需要检查 paragraph
以确定每个句子包含的字符数,包括句点和 \0
字符>.
您可以像这样分配内存:
int i;
char** sentences = (char**)malloc( sizeof(char*) * number_of_sentences );
for (i = 0; i < number_of_sentences; i++) {
sentences[i] = (char*)malloc( sizeof(char) * length_of_sentences[i] );
}
其中 length_of_sentences
是一个包含您发现的句子长度的数组。
关于将段落转换为具有动态内存的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200214/