【发布时间】:2015-01-27 19:58:37
【问题描述】:
这个小测试程序正在从命令行读取字符串,我遇到了一个段错误。谁能帮我?
我也想问一下realloc()和malloc()有什么不同?我的意思是我认为realloc() 更聪明,那么为什么我们还需要malloc()?对于malloc(),我知道我们必须将字符串和malloc() 复制到新内存中,但是谁能给我一个例子?
#include <stdio.h>
#include <stdlib.h>
//reading the string from the command line
int
main(int argc, char *argv[]){
char** inputStrings;
int i;
for(i=1;i<argc;i++){
inputStrings=realloc(*inputStrings,i*sizeof(argv[i]));
inputStrings[i-1]=argv[i];
}
for(i=0;i<argc-1;i++){
printf("what is in the address: %s\n",inputStrings[i]);
}
free(inputStrings);
return 0;
}
【问题讨论】:
-
每个问题一个问题。第一个回答。对于其他人,请阅读相应的手册页。
标签: c segmentation-fault realloc