我正在写一个读取用户输入的程序,但我不想给它的大小设置任何上限,所以我决定像这样动态分配它的内存:
int main(int argc, char const *argv[]) {
char ** INPUT;
char * inputSize;
int cl;
printf("Enter your operation here: \n");
scanf("%s", INPUT);
for(cl = 0; INPUT[cl] != '\0'; ++cl);
inputSize = (char *) malloc((cl + 1) * sizeof(char));
return 0;
}此程序将编译并运行,但在输入输入后,它将终止,并显示以下错误:
Segmentation fault: 11我刚刚开始学习指针,所以如果有人指出我正在犯的错误,我会很感激。谢谢!
发布于 2016-11-06 23:21:10
谢谢你的帮助,我刚刚使用了getline,并在unsigned_t缓冲区中分配了所有内容。这是可行的。
https://stackoverflow.com/questions/40450769
复制相似问题