⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 instlist.h

📁 Software Development in C: A Practical Approach to Programming and Design 软件开发:编程与设计(C))——国外经典教材·计
💻 H
字号:
//---------------------------------------------------------
/*
File name:	InstList.h
Comments:	This file contains the definitions needed to 
			use the instance_list type. An instance list
			is declared and initialized using the 
			DeclareInstanceList() macro. 
*/
//---------------------------------------------------------

#ifndef INSTLIST_H
#define INSTLIST_H

//---------------------------------------------------------
// Enumerated types

typedef enum
{
	ILE_NO_ERROR,
	ILE_CANT_ALLOCATE_LIST,
	ILE_ITEM_NOT_FOUND,
	ITEM_IDENTIFIER_OUT_OF_RANGE
} instance_list_error;

// End enumerated types
//---------------------------------------------------------



//---------------------------------------------------------
// Type definitions

typedef int instance_list_size;

typedef instance_list_size instance_identifier;

typedef void * instance_list_item;

typedef struct
{
	instance_list_item *itemArray;
	instance_list_size listLength;
	instance_list_error errorStatus;
} instance_list;

// End type definitions
//---------------------------------------------------------




//---------------------------------------------------------
// Macros

// Use this macro to declare and initialize a list.
#define DeclareInstanceList(listName)					\
			static instance_list listName = {			\
									  NULL,				\
									  0,				\
									  ILE_NO_ERROR}

// End Macros
//---------------------------------------------------------




//---------------------------------------------------------
// Prototypes

instance_identifier InstanceListAddItem(
						instance_list *theList,
						instance_list_item theItem);

instance_list_item InstanceListGetItem(
						instance_list *theList,
						instance_identifier itemID);

instance_list_size InstanceListGetLength(
						instance_list *theList);

instance_list_item InstanceListRemoveItem(
						instance_list *theList,
						instance_identifier itemID);

instance_list_error InstanceListGetLastError(
						instance_list *theList);

void InstanceListClearError(instance_list *theList);


// End prototypes
//---------------------------------------------------------

#endif

// End InstList.h
//---------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -