#include <stdio.h>

#include <stdlib.h>

#include <stireg.h>


#define MAX_CHAR 10

#define TABLE_SIZE 13

#define MAX_ITEM 7


typedef struct {

char key[MAX_CHAR];

}element;

element hash_table[TABLE_SIZE];


void init_table(element[]);

int hash(char *);

void linear_insert(element, element[]);

void print_hash(element[]);



void main(){

int i;

element weeks[MAX_ITEM] = { "Sunday", "Monday", "Tuseday", "Wednesday",

"Thursday", "Friday", "Saturday" };

init_table(hash_table);

for (i = 0; i < MAX_ITEM; i++){

linear_insert(weeks[i], hash_table);


}

print_hash(hash_table);

}


void init_table(element ht[]){

int k;

for (k = 0; k < TABLE_SIZE; k++)

ht[k].key = NULL;

}


int hash(char *key){

int number = 0;

while (*key)

number = *key++;

return(number%TABLE_SIZE);


}


void linear_insert(element item, element ht[])

{

int i, hash_value;

hash_value = hash(item.key);

i = hash_value;

while (strlen(ht[i].key)){

if (!strcmp(ht[i].key, item.key)){

fprintf(stderr, "Duplicate entry\n");

exit(1);

}

i = (i + 1) % TABLE_SIZE;

if(i == hash_value){

fprintf(stderr, "The table is full\n");

exit(1);

}

}

ht[i] = item;

}



c언어로 선형 조사법 실습한건데 초기화 에서 배경 빨간색으로 해논곳 한군데가 에러나네요,,

식이 수정할 수 있는 lvalue여야 합니다.라고 에러가나네요

어떻게 고쳐야할까요??보면  linear_insert 함수에서는 에러안나는데 도무지 모르겟네요