있어서 추가마르코프 체인. 구현 I 구현에서 다음 한 Statment와 약간 혼란이다
void add(char *prefix[NPREF], char *suffix) {
State *sp;
sp = lookup(prefix, 1);
//addsuffix(sp, suffix);
printf("size of prefix %d",&prefix);
printf("size of prefix %s", prefix + 1);
printf("size of prefix %d \n", &prefix+1);
for (int i = 0; i < NPREF; i++)
printf("%s \n" , prefix[i]);
printf("memmove \n");
memmove(prefix, prefix + 1, (NPREF - 1) * sizeof(prefix[0]));
prefix[NPREF - 1] = suffix;
for (int i = 0; i < NPREF; i++)
printf("%s \n", prefix[i]);
}
mmemove을 (접두사 프리픽스 + 1 (NPREF - 1) *는 sizeof (접두사 [0]));
그래서 prefix는 char 유형의 포인터입니다. 이 용어에서 접두사 + 1은 배열의 다음 문자에 대한 링크입니다. 그렇지 않습니까?
정상적으로 작동하는 방식은 무엇입니까? memmove에 대해 읽었고 포인터에 대해 읽었지만이 함수를 직접 탐색 할 수는 없습니다.
의 printf ("프리픽스 % (D)의 크기", 프리픽스); 틀렸어 – 4pie0
나는 대답을 얻으려고하고있다. 내 printf 기능에 신경 쓰지 마라. 질문은 그것에 관한 것이 아닙니다. –