#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#pragma warning(disable:4996)

int skip[256];

void table(char *);


void main()

{

char text[] = "This is pen.That is a pencil";

char *p, *key="pen";

int i;

table(key);


      p=search(text,key);

이후 서치함수로 같은부분 찾아줌~

}


void table(char *key)

{

int k, n;

n = strlen(key);

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

skip[k] = n;

for (k = 0; k < n - 1; k++)                   <----- 이부분

skip[key[k]] = n-1-k;              <----- 이부분

}


책에 설명되있는 코드중 일부거든요?

table 함수에 처음 for로 skip[0~255] 숫자를 3으로 채워준후에

skip[key[k]] 이부분이 뭔지 모르겠어요. key[k]면은 pen이라는 문자열에 가르키는 포인터를 3개 배열로 key[0]=p  key[1]=e key[2]=n

이렇게 나타낼수 있는데 skip[p] skip[e] skip[n] 이건 안되지 않나여?

되면 어떻게 되는건지설명좀 해줘용 ㅠㅠ