使用结构函数指针的C头的常规方法是什么?

时间:2013-03-02 06:12:49

标签: c struct function-pointers

在结构中使用C头文件和带有函数指针的源的常规方法是什么?

例如;我在头文件中声明了我的结构,并在代码文件中声明了所有函数和源代码。是否通常在源文件中声明结构并将所有函数指针分配给正确的函数?

2 个答案:

答案 0 :(得分:5)

你说得对,结构通常放在头文件中。

通常,Header文件用于设计代码框架。实际代码在另一个文件中实现。

通常头文件将包含

1)功能原型

2)班级定义

3)结构和联合定义

4)宏

有关组织代码的更多信息,请参阅 this

答案 1 :(得分:3)

是的,将声明(结构和函数)放在头文件中是处理大型程序的好方法。我想你可能做得对,但我还是想给你一个建议。

因为您没有提供特定代码,所以我必须使用我的一个代码作为示例:

#ifndef _COMMAND_H
#define _COMMAND_H

struct Book
{
char isbn[14];
char name[60];
char author[20];
char publisher[20];
char date[9];
float price;
float discount;
};
typedef struct Book BOOK;

struct Node
{
struct Book book;
struct Node *prev;
struct Node *next;
};
typedef struct Node NODE;

int loadArray(BOOK *ary, int num, char * fileName);
int saveAs(BOOK *pBook, int size, char * fileName);
void showAll(BOOK *pBook, int size);
int errCmd();
int menu();

int search(BOOK *pBook, int size, char *isbn);
int sort(BOOK * pBook, int num);
int update(BOOK *pBook, int size, char * isbn);
int delete(BOOK *pBook, int* pSize, char * isbn);
int insert(BOOK *pBook, int *pSize);
int append(BOOK *pBook, int *pSize);

#endif

这是MIS的头文件(用于处理图书信息)。

我想告诉您在头文件中需要#ifndef #define #endif,这可以确保每个头文件只会结束一次。否则,它可能会出现“重新定义”错误。

我衷心希望我的回答可以帮到你。谢谢。