-1
在这个程序中,我必须创建一个指针系统,在读取较大输入的80个字符后,将提供一个pointer-to-pointer-to-character
操作。然后将结果发送到一个函数,以确定总输入中的单词数量和它们包含的平均字母数量。我的问题是,我不知道如何创建指针系统,而不会产生exc_bad_access
警告。此外,我无法找到适合我需求的malloc和free组合。任何帮助,这将不胜感激。使用指针发送数组的指针C项目
inputPtr = (char*)malloc(81 * sizeof(char));
while (fgets(wordy, 81, stdin) != NULL) {
numChar = strlen(wordy);
inputPtr = wordy;
for (i = 0; i < groupRange; ++i) {
sentPtr[i] = &inputPtr;
}
if (numChar == 80) {
groupRange++;
}
free(inputPtr);
printwords(*sentPtr, numChar);
}
你似乎试图在这里做字符串复制:'inputPtr =罗西;',我想。在C中,字符串不能像那样工作。在创建“指针系统”之前,您可能需要回过头几步并了解C字符串,无论您的意思如何。但是你应该考虑的一件事是,为什么你只有一次“malloc”,但是在循环中“free”? – hyde
您在第一次迭代时泄漏了为'inputPtr'分配的内存。我们不知道“罗嗦”是什么。疯狂的猜测:这不是你的真实代码? – WhozCraig
停止“试图找到malloc和free的组合,这将减轻我的这一点”,因为猜测不会奏效。请尝试从逻辑上理解它。如果你还没弄明白,那么你可能需要了解更多关于指针,字符串或'malloc'的信息,那很好。 – immibis