0

背景: hash_table.c というファイルに Hashtable を作成しました。これは、ヘッダー ファイル hash_table.h に含まれる内容の一部です。

/* hash_table.h */
#ifndef HASH_TABLE_H
#define HASH_TABLE_H

enum {BUCKET_COUNT = 1024};

struct Node {
    char *key;
    char *value;
    struct Node *next;
};

struct Table {
    struct Node *array[BUCKET_COUNT];
};

struct Table *TableCreate(void);   //creates the table
....

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fdata.cという別のCファイルでハッシュテーブルを開始したいと考えています。これを行う最善の方法はわかりませんが、ここで私が考えていたことは次のとおりです。

#include "hash_table.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Table *t;  //initiate the variable

void testFunc()
{
    if(Hashtable does not exist) {  //How do I accomplish this? Is it possible?
        t = TableCreate(); //create the table
    else{
        continue...
    ....

明らかに、このテーブルを開始するためのより良い方法があれば、私はすべて耳にします。(Cで構造体を使うのはこれが初めてです)

ご支援ありがとうございます!

4

1 に答える 1