以下のCコードから、私は理解できません
struct word *nowhead = head[string[start - 'a']];
これを説明してください。
struct word **head=NULL;
char string[16384];
start = 0;
...
void insert(char *string, int end, int start)
{
struct word *nowhead = head[string[start - 'a']]; //this!!
...
}
ありがとう。
更新 (コメントから)
void insert(char *string, int end, int start)
{
struct word *nowhead = head[string[start- 'a']];
int i, j=0, on=0;
char *wtemp;
struct word *temp1, *temp2;
wtemp= calloc(PAROLA, sizeof(char));
if(wtemp==NULL) printf("Error \n");
for(i=start; i<end; i++) {
wtemp[j]=string[i]; j++;
}
if(nowhead != NULL) {
temp1=nowhead ;
while(temp1!=NULL) {
if(strncmp(wtemp, temp1->parol, (PAROLA-1))== 0) {
temp1->occorrenz++; on=1; break;
}
else {
if(temp1->next == NULL) {
temp2=temp1; }
} temp1=temp1->next;
}
if(on!=1) {
temp1=malloc(sizeof(struct word));
strncpy((temp1->parola), wtemp, (PAROLA-1));
temp1->next = NULL;
temp1->occorrenze=1;
temp2->next=temp1; }
} else {
nowhead= malloc(sizeof(struct word));
strncpy((nowhead->parola), wtemp, PAROLA);
nowhead->next=NULL; nowhead->occorrenz=1;
}
free(wtemp);
}