0xC0000005: 0xCDCDCDCD 액세스 위반이 발생했습니다
이 에러가 계속 떠서 한시간넘게 붙잡고있었는데
struct product { char name[1024]; int price; };
p = (struct product *)malloc(num * sizeof(struct product));
문제의 코드가 scanf("%s %d", p[i].name, p[i].price);이였는데
왜 안되나 breakpoint찍으면서 해보니까 문제는 p[i].price였습니다.
p[i].price도 배열이니까 이름자체가 주소니까 &안해도 되는거아닌가 라고 생각했는데
최종적으로 p[i].price에 해당하는 자료형은 int라서 &를 써줘야되는것같더라구요.
scanf("%s %d", p[i].name, &p[i].price);로 고치니까 해결되었습니다.
액세스 위반 같은 경우에는 보통 내가 틀렸는데 디테일한 수준에서 틀려서 뭐가 잘못되었는지 몰라서 더 화가 나는것같아요.그래서 구글링해도 명쾌한 답이 안나오는 경우가 대부분이라서 더 골치아픔.
'컴공' 카테고리의 다른 글
numpy integer indexing (0) | 2022.07.15 |
---|---|
Tensorflow1버전기능 Tensorflow2에서 사용하기 (0) | 2022.06.27 |
typescript $/억음부호(`) 관련 에러 찾은 사항(맥북버전내용도) (0) | 2021.06.20 |
Xcode 관련 팁들 (0) | 2021.05.14 |
컴공 신입생의 맥북에어(M1) 후기 (0) | 2021.05.06 |