Devc++编程过程中的一些报错总结
以下都是我在使用Devc++的过程中出现过的错误,通过查找资料解决问题,今天小小地记录、整理一下。
1.[Error] invalid conversion from 'const char*' to 'char' [-fpermissive]
出现该错误的原因是:使用字符串操作函数 strcmp,strcpy时传入的必须是指针
例如 :strcmp(a[i],"f"),这是错的,因为a[i]是值,不是指针,应该改为strcmp(&a[i],"f")
2.[Error] 'malloc' was not declared in this scope
出现该错误的原因是:使用malloc()函数时需要添加头文件#include<stdlib.h>,可能free()函数也是,因为也报了类似的错误
3.Program received signal SIGSEGV,Segmentation fault.报错
该错误出现在我调试的过程中,错误出现的原因指针未初始化或越界,访问到未分配地址空间。
不过,虽然知道了错误出现的原因,这个问题曾经还是困扰了我很久,下面,我分享一下我与该错误的斗争经过,以下代码是修改正确后的
typedef struct //数组存储型顺序栈,存储数据int型
{
int data[Maxsize];
int top;
}IntStack; void InitStack(IntStack **s) //数据为int型的栈的初始化
{
*s=(IntStack *)malloc(sizeof(IntStack));
9 (*s)->top=-;
}
然后,我就开始调试,在进行到第六行时得到这个错误。下面是我自己的理解:
首先,我在main函数中定义了一个 IntStack *s=NULL ,并将其初始化为NULL,如果我是用void InitStack(IntStack *s)函数,调用时就要写InitStack(s),那么实际上我是将s中的值传到了函数中,而s中的值是NULL,将NULL传入到函数中,这不是我想要的。
实际上,InitStack函数的调用结果,我想要的是,申请一块可以存储IntStack型结构体的空间,并将这块空间的地址保留到s中,以便通过s进行进一步的访问,所以,malloc函数得到的地址其实应该作为s的值,赋给s,于是,我们需要传入的就是s的地址,也就是二级指针,具体函数如上,调用时就写成InitStack(&s),然后。。妥了,其实也确实是指针越界导致的错误啦,毕竟你啥也没传进去嘛,还想调用,想太多了。。。。
4.[Error]ld returned 1 exit status
出现错误的原因可能有:
1.是你的程序已经在运行,关闭原来的程序就可以正常了
2.你机器上有杀毒(安全)软件阻止了你程序的生成,退出杀毒(安全)软件再试下。
5.[Error]expected declaration or statement at end of input
可能错误:
1.某一个函数或者变量没有在使用之前声明。
2.某个地方少了个括号。即括号不匹配。调试过程中不一定是光标提示处括号不匹配,可能是附近模块。
6.文件包含错误
这个主要是理清文。件间的包含关系,避免重复包含。我现在一般是用Devc++建工程,就三个文件,一个头文件,三个.c文件,其中一个是main文件,两个是放函数的文件,然后在.c文件中都包含.h文件就可以了。
7.bool类型在C语言中的使用
如果想要在Devc++上写C语言,又想用bool类型(C语言貌似是没有bool类型的哦),那么可以通过添加头文件 #include<stdbool.h> ,这样就可以使用bool了。
初入道不久的小白,如有纰漏,望请指正。
Devc++编程过程中的一些报错总结的更多相关文章
- 【EasyExcel】使用easyExcel过程中,项目报错的解决集合
报错:Can not close IO [ERROR] 2019-11-02 13:51:21.210 [ProExportSkuDataJob-1455-TaskThread-1] [com.dma ...
- 关于Spring运用过程中jar包报错问题
使用Spring进行web开发时,第一步就是导入jar包,今天使用SPring Task开发定时器时,导入了好多次jar包,都是报错,不知道是因为jar包版本不同还是因为需要依赖的jar包没加入,反正 ...
- grunt-contrib-qunit安装过程中phantomjs安装报错问题解决
今天自己fork了一个github上别人写的一个关于grunt项目的一个小demo(https://github.com/cowboy/jquery-tiny-pubsub),主要是想学习下grunt ...
- ZABBIX安装过程中relocation error报错解决办法
错误提示: /usr/sbin/zabbix_server: relocation error: /usr/sbin/zabbix_server: symbol mysql_next_result, ...
- EVALUation mode running with code size limit:2k keil进行仿真过程中出现的报错
EVALUation mode running with code size limit:2k 如果keil软件未破解,会限制程序的存储大小.第一是你的软件没有破解,不能编译2K以上的程序:这种情况下 ...
- idea工程中web.xml报错Servlet should have a mapping
搭建ssm工程过程中web.xml报错:Servlet should have a mapping ....但是mapping已经配置好了...如下图: 搜索无果,后来发现是工程的web.xml位置配 ...
- php中各种http报错的状态码分析
HTTP会经常遇见错误,本文主要和大家分享php中各种http报错的状态码,希望能帮助到大家. HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就无 ...
- [RN] React Native 使用 图片预览和放大 插件 react-native-image-zoom-viewer 过程中,放大报错问题
React Native 使用 图片预览和放大 插件 react-native-image-zoom-viewer 过程中,放大报错问题 报错如下: Cannot record touch end w ...
- 解决MyEclipse中的js报错的小方法
今天,下了个模版,但是导进去的时候发现js会报错.看了下其他都没有错误.而有一个js报错误,请原谅我有点红色强迫症,不能留一点红色 . 错误如下:Syntax error on token " ...
随机推荐
- windows Ctrl + Alt + 方向键 取消屏幕反转
1.在桌面右击 2.再次右击桌面 3.单击选项和支持 4.点击禁用和应用
- springboot学习入门之二---配置文件解析
2springboot配置文件解析 2.1application.properties配置文件 使用application.properties全局配置文件(位置为src/main/resources ...
- Oracle闪回(FlashBack)数据库
Flashback Database功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到过去的某个时点的状态,这个功能依赖于Flashback log日志.比RMAN更快速和高效,因此Flas ...
- 在 Azure 中备份 Linux 虚拟机
可以通过定期创建备份来保护数据. Azure 备份可创建恢复点,这些恢复点存储在异地冗余的恢复保管库中. 从恢复点还原时,可以还原整个 VM,或只是还原特定的文件. 本文介绍如何将单个文件还原到运行 ...
- alwayson监控
最近大体自己写了点alwayson相关的监控,是通过存储过程的方法,做个笔记如下: --alwayson启用状态 declare @isenabled sql_variant SELECT @isen ...
- A B C D类网络地址
A类网络地址(红色为网络地址,黑色为主机地址): 下限:0000 0001.0000 0000.0000 0000.0000 0000(1.0.0.0) 上限:0111 1110.1111 1111. ...
- CompletionService和ExecutorCompletionService
CompletionService用于提交一组Callable任务,其take方法返回已完成的一个Callable任务对应的Future对象. 如果你向Executor提交了一个批处理任务,并且希 ...
- Flask 参数简介
我们都知道学习了Flask的时候它里面的参数是有很多种的参数 都是需要相互进行调用传递的 今天就简要分析一些常见的参数 首先导入Flask之后看 源码 from flask import Flas ...
- windows server 2016部署服务
绪论 有时候,如果安装系统数量比较多,而且数量较多,人工使用U盘或者光盘安装,效率较低,通过网络可以批量安装. 还可以做到无人安装. PXE PXE(preboot execute env ...
- 【ORACLE】使用中注意事项(二)
问题1:ORACLE在插入数据的时候,有时候中文变成????? 原因:由于当前计算机的字符集和服务器上的字符集不一致,导致中文乱码. 解决方案: 在当前使用的计算机中设置环境变量 在我的电脑上右键属性 ...