1) malloc과 포인터 복습
·
CS/자료구조
아래와 같은 main 함수 코드가 있습니다. 여기서 문제가 될 만한 지점을 발견할 수 있나요? int main(void) { int *x; int *y; x = malloc(sizeof(int)); *x = 42; *y = 13; } main 함수 안의 첫 두 줄에서는 포인터 x와 y를 선언합니다. 그리고 x에는 malloc 함수를 이용해서 int 자료형 크기에 해당하는 메모리를 할당합니다. 그 다음에는 x와 y 포인터가 가리키는 지점에 각각 42와 13을 저장합니다. 여기서 문제가 될 만한 부분은 *y = 13 입니다. y는 포인터로만 선언되었을 뿐이지, 어디를 가리킬지에 대해서는 아직 정의가 되지 않았습니다. 따라서 초기화 되지 않은 *y는 프로그램 어딘가를 임의로 가리키고 있을 수도 있습니다. 따라..