sizeof 연산자를 쓸때 배열선언과 포인터 선언의 차이때문에 질문드립니다
윤슬이뿌잉
2023.04.01
질문 제목 : 동적배열할당시 포인터를 이용해서 배열을 쓸때 크기를 알아보는 방법.. 질문 내용 : 동적배열할당을 하면 처음에 포인터를 선언한다음 그 포인터에 malloc함수를 이용해서
몇 by 몇의 배열을 만들 수 있었습니다.그런데 이런식으로 배열을 만들시에
sizeof 연산자를 이용해 크기를 알아보려하면처음에 double a[2][3];
이런식으로 선언한다음에 sizeof(a)를 하면 배열 전체크기인 48이 반환되고
sizeof(a[0]) 이런식으로하면 첫번째 행의 전체크기인 24가 반환되고 잘 나오는데포인터를 이용해서
double **b;
malloc명령어를 통해 2 by 3을 할당한다음
sizeof(b), sizeof(**b), sizeof(b[0]) 등등을 해보면 포인터 자체의 크기만 출력되는 것 같습니다.
포인터를 이용해서 동적 배열 할당했을시에 한 행 전체의 크기와
전체 배열의 크기를 알아볼 수 있는 방법이 있을까요..