遇到了segmentation fault (core dump 问题)
segmentation fault问题遇到过很多次了,每次都是稀里糊涂解决了也忘记了记录,这次决定记录下来,以后再遇到这个问题就来更新。参考了一位博主的内容:其博客
一般这是内存的错误。core dump意思是核心转储, 当程序运行过程中发生异常, 程序异常退出时,由操作系统把程序当前的内存状况存储在一个core文件中。 core的意思是内存, Dump的意思是扔出来,堆出来。
- 本次错误
//定义时
char *in1;
char *in2;
//使用时
if(strcmp(in1,in2)==0)
- 定义in1/2两个指针后未对其分配内存地址空间,调用strcmp时,被写爆了
- 对其分配动态内存地址空间:
//使用变量前
in1=(char *)malloc(100*sizeof(char));
in2=(char *)malloc(100*sizeof(char));
//使用变量后
free(in1);
free(in2);
这样重复使用也不怕了,每次都有分配动态内存,用完就释放。