У меня проблема с указателями.
Это работает нормально -
int main(void){
char *w;
w = calloc(20, sizeof(char));
w = "ab";
printf("%c",*w);
w = w + sizeof(char);
printf("%c",*w);
return 0;
}
но если я использую функцию как:
void por(char *t){
t = t + sizeof(char);
}
и
int main(void){
char *w;
w = calloc(20, sizeof(char));
w = "ab";
printf("%c",*w);
por(w);
printf("%c",*w);
return 0;
}
тогда он печатает «аа» вместо «ab».
Я знаю, это, вероятно, довольно глупый вопрос, но я не знаю, что происходит и как решить эту проблему.