​第一次在Liunx上(liunx mint 17)使用gcc编译c文件,竟然提示“找不到stdio.h",经过google后发现执行

sudo apt-get install build-essential

即可,详见:http://slipper-99933.blog.163.com/blog/static/39954044201021651833785/

正文:

​刚学习了柔性数组,照教程写了用柔性数组生成斐波那契数列,经过一翻修改后gcc编译通过,运行时却提示“段错误”。google一下说很可能是数组赿界导致的内存访问错误。仔细检查果然是因为对未赋值的指针进行访问的缘故。
    ​为避免这类问题以后凡是定义指针都要先初始化,还要严格注意对指针先赋值后访问。
    ​
    ​修改前:

typedef struct _soft_array
{
int len;
int array[];
}softarray; softarray* create_soft_array(int size)
{
softarray* ret;
ret->len = size;
if( size > )
{
return ret = (softarray*)malloc( sizeof(*ret) + sizeof(int)*size );
}
return ret = NULL;
}

​修改后:

typedef struct _soft_array
{
int len;
int array[];
}softarray; softarray* create_soft_array(int size)
{
softarray* ret = NULL;
if( size > )
{
ret = (softarray*)malloc( sizeof(*ret) + sizeof(int)*size );
ret->len = size;
}
return ret;
}

date:2014-10-25

gcc编译通过,运行却显示“段错误”的解决方法的更多相关文章

  1. Apache commons StringUtils 在运行时出现NoClassDefError错误的解决方法

    Apache commons StringUtils 在运行时出现NoClassDefError错误的解决方法 在用tomcat运行WEB项目,并且使用了StringUtils包的时候,会出现 jav ...

  2. 创建Web项目运行时出小错误及解决方法

    1.目录结构 2.各文件内容 index.jsp <%@ page contentType="text/html;charset=UTF-8" language=" ...

  3. win10下安装VS2005运行程序出现0x000007b错误的解决方法

    项目工程一运行就报错...真心坑... 方法如下: 1.安装DirectX 9.0c 形成原因是因为DirectX 9.0被损坏, 只需要安装即可. 如果有电脑管家的.在电脑管家里面搜索“Direct ...

  4. 关于msbuild 编译.net 4.5新语法错误的解决方法

    .net4.5以前msbuild 是在%windir%/Microsoft.NET/FrameworkXX/vXX目录下,如:C:\Windows\Microsoft.NET\Framework64\ ...

  5. vscode下搭建typescript时提示"无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称"错误的解决方法

    根据网上的教程,安装了node.js后,再安装了typescript,,,这时候编译生成或者在vscode的终端里调用npm或者tsc --version时,总是提示 npm : 无法将"n ...

  6. 虚拟机VMware显示“内部错误”的解决方法

    很有可能是VM服务没有启动,win+R services.msc 进入 “服务”,将VM相关的5个服务全部启动即可.

  7. GCC-4.6.3编译linux2.6.32.12内核出现“重复的成员‘page’”错误的解决方法

    使用gcc4.6.3编译linux2.6.32.12内核出现错误如下: In file included from drivers/net/igbvf/ethtool.c:36:0: drivers/ ...

  8. 编译android源码遇到错误及其解决方法

    升级ubuntu的14.04后,android的源码又编译错误了,一下是错误说明赫解决方法: 1.make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_ ...

  9. 运行bee run之后出现的错误以及解决方法Failed to build the application:

      运行bee run之后出现的错误以及解决方法 创建一个beego项目 bee new myapp 在该项目执行下面的代码 bee run 出现的问题 2020/04/22 21:12:07 INF ...

随机推荐

  1. [TYVJ] P1015 公路乘车

    公路乘车 描述 Description 一个特别的单行街道在每公里处有一个汽车站.顾客根据他们乘坐汽车的公里使来付费.例如样例的第一行就是一个费用的单子. 没有一辆车子行驶超过10公里,一个顾客打算行 ...

  2. mysql下怎样运行脚本

    假设要运行脚本: F:\hello world\niuzi.sql 第一种方法:        在命令行下(未连接数据库),输入 mysql -h localhost -u root  -p < ...

  3. poj3537--Crosses and Crosses

    题意:有个一维棋盘,两人轮流下棋,然后谁连成三个谁赢 记得去年fj夏令营有见过这题,但是太弱了, 不会做. 记忆化搜索,如果n<=3肯定先手必胜,递推即可. #include<iostre ...

  4. ANDROID使用MULTIPARTENTITYBUILDER实现类似FORM表单提交方式的文件上传

    最近在做 Android 端文件上传,要求采用 form 表单的方式提交,项目使用的 afinal 框架有文件上传功能,但是始终无法与php写的服务端对接上,无法上传成功.读源码发现:afinal 使 ...

  5. Xs and Os Referee

    Xs and Os Referee 1 def checkio(game_result): 2 winner = 'D' 3 4 for row in game_result: 5 if row[0] ...

  6. haporxy 负载elasticsearch

    <pre name="code" class="html">-bash-4.1# cat /etc/haproxy/haproxy.cfg glob ...

  7. c++ 02

    一.堆内存的动态分配与释放 malloc/calloc/realloc/free new/delete:详见memory.cpp 1.通过new运算符分配单个变量 数据类型* 指针变量 = new 数 ...

  8. 返回本机的mac物理路径

     /// <summary>         ///    返回本机的mac物理路径         /// </summary>         /// <return ...

  9. 3 Sum 解答

    Question Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Fi ...

  10. hdu 5612 Baby Ming and Matrix games(dfs暴力)

    Problem Description These few days, Baby Ming is addicted to playing a matrix game. Given a n∗m matr ...