#include <stdio.h>
void fix(char *Fstr)
{
printf("1-1.%d\n",Fstr);
printf("1-2.%d\n",*Fstr);
// printf("1-3.%c\n",**Fstr);
// printf("1-4.%c\n",**(Fstr+1));
*Fstr="Modified";
printf("1-5.%d\n",Fstr);
printf("1-6.%d\n",*Fstr);
// printf("1-7.%c\n",**Fstr);
// printf("1-8.%c\n",**(Fstr+1))
}
int main(void)
{
char *str;
int i=1;
printf("1.%d\n",str);
str="fixed";
printf("2.%d\n",str);
printf("3.%s\n",str+1);
printf("4.%d\n",&str);
fix(&str);
printf("5.%d\n",&i);
printf("7.%s,%d\n",str,i);
return 0;
}
대학교 1학년입니다. 포인터를 이용해서 외부 함수에서 문자열을 수정해봤더니 작동 자체는 정상적으로 하는데 워닝이 뜨길레 알아보니
void fix(char *Fstr) 대신에 void fix(char **Fstr)를 이용하라고 하는데 그 이유가 무엇인가요?
위쪽은 코드와 출력창입니다..