c - 修复简单 C 程序中的段错误

标签 c function pointers segmentation-fault

我有一个计算角对相关性的 C 程序,该代码在其中运行良好。代码中的一行内容类似于

A = B * C

我制作并编译了(编译正常)一个 .h C 函数,我想将其添加为乘法因子,即我希望它执行此操作

A = B * C * Y(x)

现在,当我运行原始代码时,出现段错误。我怀疑我的 .h 函数有问题(我对 C 不太熟悉)。我在我的函数中根本没有使用指针。基本上看起来像这样

extern double Y(double x)
{
double Z;
Z = polynomial_function_in_x;
return Z;
}

最佳答案

由于它只是一个衬垫,并且您使用的是 C,所以我认为最好的方法是使用宏,在头文件中添加以下内容:

#define Y(_x) (polynomial_function_in_x(_x))

在你的 C 文件中你可以使用:

#include "poly_headerfile.h"
int main(int argc, char** argv)
{
    A = B * C * Y(x);
    return 0;
}

它会更高效,并避免函数的麻烦,只要确保你记得将参数括起来即可!

关于c - 修复简单 C 程序中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31671562/

相关文章:

javascript - 如果我将函数调用插入数组或分配为属性,它会插入/分配返回值吗?

c - 为什么我的结构定义不完整?

c - 在 C 中查找 N 个整数中最大整数的数量

c - C中的点分十进制转二进制

c - 如何使用 fork() 来守护独立于其父进程的子进程?

php - 从 MySQL 数据库中的两列之和计算百分比值

c++ - 虚函数重定义隐藏了另一个基类的同名重载函数

arrays - 指针数组

iphone - Objective-C 指针 > 指向属性

c - 解决 yacc 冲突 - 由于冲突规则在解析器中无用