✅ 목표 (Goal)

포인터가 어려운 이유에 대한 넋두리.. ^^

✅ 에러 메시지도 친절하지 않다.

더군다나 C는 이러한 메모리 관련 에러가 나면

뭐뭐가 잘못되었다고, 대충 뭐 알아먹을수 있게 설명해주는게 아니라

“메모리가 잘못되었다”는 메시지만 띡 보내고 끝이다.

세그멘테이션 폴트 (segmentation fault)란?

C린이 입장에서는 당황스럽기 그지없다.

예를 들어, 대충 이런 코드가 있다고 할때

student_t s1={"david", 22};
studnet_t *s2= &s1;
...
s2= func(); // 이런식으로 잘 쓰지는 않지만..

참조 s2가 func2로부터 잘못된 값을 받아서, 잘못된 참조를 한다고 하면

“s2의 참조가 NULL(혹은 잘못된 주소)를 가리키고 있습니다.

라면서 s2가 가리키고 있는 주소등을 보여주면..

아 내가 s2 참조를 어디선가 잘못했나.. 라고 찾아라도 볼텐데

아래와 같이, 세그멘테이션 폴트 에러를 내고 프로그램이 종료되어 버린다.