Я изучаю язык Си - и в настоящее время изучаю структуры данных.Я реализую базовый стек с массивом в заголовочном файле, и я хотел бы иметь возможность включать его в различные основные программы.
Мой файл stack.h:
#define STACK_SIZE 10
typedef int elem; // Data Type of the stack array
// Stack Struct
struct stack {
elem array[STACK_SIZE]; // Stack Data table
int top; // Stack Head
};
typedef struct stack STACK;
Я использую typedef для типа данных массива стека в моем stack.h.
Однако я хотел бы иметь возможность определять другой тип данных для каждого случая из любого из моих основных.c файлы, которые будут включать в себя мой stack.h.
Что-то вроде ниже:
// Main.c
#include <stdio.h>
#include <stdlib.h>
#include "stack.h"
int main(){
STACK st;
// Here define somehow the desired data-type of my STACK.
}
Не уверен, имеет ли это смысл и возможно ли это сделать таким образом ...но если да, то как мне подойти к этому?