int a == int b 의 불린값은 True가 나올수있지만 string a == string b 는 True가 나오지 않는다. 왤까? 메모리 주소가다른, 청크가 다른 값을 보기에 컴퓨터가 다르다고 판단한것이기 떄문이다. 이걸 해결하려면 char *a 과 char *b를 받았을경우 strcmp(a,b) == 0 을 통해 True값을 받을수있다.
두 포인터가 같은 주소를 가르킴으로써 주소값이 바뀌면 두 포인터가 바뀌는것을 볼수있다.
char *t = malloc(strlen(s+1)); 이것과 char *을 같게 하기위해 반복문을 써도돠고 strcpy(t, c)를 활용해도 된다. 그럼 t = toupper(t[0])
대문자로 쓰기전에 받은 문자가있는지 확인하기위해 strlen(t) >0 조건문으로 하는게 정확하다.
변수의 값을 초기에 초기화하지않으면 garbage값이 들어간다. 포인터, *x, *y. 주소가 없는 *y에 값을 넣으려면 가비지값이 들어간다. x는
main함수에 값을 return하지않거나 전역변수를 수정하지않는이상 main의 변수의 값은 변경도지ㅣ않는다. 혹은 포인터를 활용하여 메모리값을 지역함수에서 활용할수있게하여 포인터의 값을 바꾸면된다, 그러니 지역함수를 받을때 (&a, &b) 포인터 주소로 받아가 *a, *b로 처리한다.