결론 명시적인 것이 좋은건가?에 따라 다름 ( ∴ 안해줘도 됨 )이말은 `형변환이 필요없다`는 뜻이 아니고 `할 필요가 없다`는 뜻입니다 우리는 malloc 함수의 리턴값이 void * 라고 배웠습니다. 명시적으로 형변환을 해줄 수 있다는 것도 알았구여 자동적으로 형변환이 된다는 걸 알고 있죠 자 아래 예시는 2차원 동적할당입니다. easy하죠 #include int main() { // 2차원배열 만들기 (n X n) int n = 5; int ** arr; int i; arr = (int **)malloc(sizeof(int *) * n); // n만큼 2차원 배열 만들어줌, n의 크기는 1차원 for(i=0; i < n; ++i) arr[i] = (int *)malloc(siz..
지난시간에 이어서(코드를 잘 못짜게되면서 쓰게된 글) 글을 쓰게 된 이유 요약1. 코드를 잘 못짰는데 못찾았음 ಠ╭╮ಠ2. VS에서 디버깅 해봤는데 돌아가긴 하는데요 좋은건지 나쁜건지??3. gcc로 하면 오류가 뜨는데?? 당연하겠죠 나의 문제일단 어찌되었든 저의 눈으로 먼저 찾을 수 있는 문제였습니다 (선 eye.. 디버깅) 그동안 눈이 삐꾸였던거에요gdb 디버깅을 하면 값을 할당하던 곳에 멈춤니다 (후 gdb 디버깅)- `음 여기 값의 범위가 잘못되었군`을 알 수 있었죠2차원 동적할당을 할 때 동적 크기를 잘 못해줌. 이로인해 나머지 동적할당을 제대로 범위대로 할 수 없어짐. (이에 대해서 할말이 있음 - 글을 또 쓰려는 속셈!)범위를 넘어서게 함으로써 범위에 맞지않은 값 할당 (1로 범위를 시작하기..