
C语言怎样才能在头文件中实现函数定义?
4个回答
展开全部
C语言在头文件中实现函数定义,可以按如下方法:
新建一个demo.h(也可以为其它文件名)的头文件,在头文件中添加函数定义,如:extern void demo();
新建一个c文件,在文件中将demo.h包含进来:#include“demo.h”,在此文件中将函数的主体写上,如下:
void demo()
{
printf("Hello.");
}
经过上述步骤,即可完成在头文件中实现函数定义。
展开全部
正常的函数是不可以在头文件中定义的,除非你将函数定义成内联函数。
在定义函数的时候,前面加上inline 就可以了。
如:
inline int a()
{
}
但是内联函数是C++里面的,可能C的编译器会不支持。如果你的编译器不支持,你可以使用宏来代替内联函数,宏是可以定义在头文件中的。
在定义函数的时候,前面加上inline 就可以了。
如:
inline int a()
{
}
但是内联函数是C++里面的,可能C的编译器会不支持。如果你的编译器不支持,你可以使用宏来代替内联函数,宏是可以定义在头文件中的。
更多追问追答
追问
怎么用宏来定义函数?
内联函数的话,因为里面有循环,所以……
追答
如果宏用的好,可以实现函数的功能,但是宏是单纯的字符替换,用的时候会产生很多麻烦。
有循环也可以使用内联函数的,内联函数实质就是把函数的全部代码写在了调用的地方,省去了函数调用的时间。
在头文件中,如果不使用内联,应该是没有别的方法了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
头文件和源文件没什么两样,可以直接定义,但是在头文件中使用定义是违背初衷的做法,是应该杜绝的
更多追问追答
追问
教我咋用宏写代码?
追答
好,你要学习用宏写什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
const size=3;
template<class T>
class vector
{
T* v;
public:
vector()
{
v=new T[size];
for(int i=0;i<size;i++)
v[i]=0;
}
vector(T* a)
{
for(int i=0;i<size;i++)
v[i]=a[i];
}
};
int main()
{
int x[3]={1,2,3};
int y[3]={4,5,6};
vector<int>v1;
vector<int>v2;
v1=x;
v2=y;
return 0;
}
using namespace std;
const size=3;
template<class T>
class vector
{
T* v;
public:
vector()
{
v=new T[size];
for(int i=0;i<size;i++)
v[i]=0;
}
vector(T* a)
{
for(int i=0;i<size;i++)
v[i]=a[i];
}
};
int main()
{
int x[3]={1,2,3};
int y[3]={4,5,6};
vector<int>v1;
vector<int>v2;
v1=x;
v2=y;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询