2016-11-18 66 views
1

我将这个结构作为我的一个c项目中的头文件。将函数存储在头文件中

struct info{ 

char name[50]; 
char address[150]; 
char country[20]; 
char region[20]; 
char postalcode[10]; 
char phonenumber[15]; 
char paymethod[15]; 

}; 

但是,我可以在头文件中存储一个函数吗?因为维护整个程序会更容易。

回答

0

您可以编写一个函数并将其保存在扩展名为.h的头文件中,以便您可以多次使用它。作为例子,我将创建一个函数添加两个整数值,并返回总和当函数被调用..

int sumOfTwoInteger(int a ,int b){ 
    return a+b; 
} 

现在我需要做的是保存文件名和扩展名.H ,例如'myheader.h' 现在将头文件放在实际程序所在的同一目录中。 在实际程序的开头加上头文件

#include"myheader.h" 

现在你可以调用时,你想要那个函数...

int sum; 
sum = sumOfTwoInteger(10,5); 

,总和将会被保存在变量“和”

+1

这个作品仅当您的项目只有一个包含.h文件的.c文件时。只要你有一个以上的.c文件包含头文件,你会得到在链接时“多重定义”的错误。 –

2

适当的做法是将函数原型(函数声明)存储在头文件中。函数实现进入“.c”文件。

1

但是,我可以在头文件中存储一个函数吗?因为维护整个程序会更容易。

我想通过,你的意思是定义

是的,你可以在头文件中如果使用的C99或C

但是更高版本,在实践中,只有对小功能还是不错的使用inline关键字定义功能。

最好在.h文件中声明函数,并在大多数函数的.c文件中定义它们。

定义函数inline可以提供性能提升方案,但它也夫妇的声明和定义。如果需要更改定义,则必须重新编译.h文件的所有.c文件。根据项目的规模,这可能是昂贵的。

1

您可以将函数存储在头文件中,但不应该。

似乎容易“对于单个操作文件”的风格,但在项目变大到管理一个项目,当你有很多功能的,它会更容易通过头文件来读取定义。

如果你想使你的代码可重用,头文件可以帮助你只有二进制文件在库代码的分布(即大家分享通过头部的函数库,而不会暴露你的实际代码)