int *는 int형을 가리키는 타입이며 정의에 따라 offset이 4byte이다.
그렇다면 int **의 offset은 어떻게 정해지는 것인가? 가령 배열처럼 쓰는 이중 포인터가 [4][5]라고 하면, offset이 20bytes가 되어야할 텐데 이것을 명시하지 않는데도 제대로 작동하는 이유가 무엇인가?
그렇다면 int **의 offset은 어떻게 정해지는 것인가? 가령 배열처럼 쓰는 이중 포인터가 [4][5]라고 하면, offset이 20bytes가 되어야할 텐데 이것을 명시하지 않는데도 제대로 작동하는 이유가 무엇인가?
양심도없이 과제를 그대로 복붙해오냐
엥 진짜 궁금해서 글쓴 거
방명록에 링크 남겼습니다
쪽지보냈습니다 ^^
저거 오프셋 틀림, 저거 오프셋 2바이트임
Int 4바이트 아니었음?
니애미가 알려준다네ㅇㅇ
대놓고 과제를 올리네
과제 아녀 말투 때문인가
잘 일거보니까 과제는 아닌거같노
정답은 int[3][4]는 int**랑 전혀 다르다는거고 int a[3][4]; int** p = a; << 뭐 이런식으로 쓰면 안된다는거임
배열처럼 쓰는 이중포인터부터 틀린 말이양
아 ㄱㅅㄱㅅ 궁금한 건 그 alloc을 int **, int *로 각각 해서 arr[][]로 접근할 수 있는 이중포인터에 대한 것이었음
배열이랑 포인터는 다름. int a+이라고 했을 떄 sizeof a를 하면 sizeof(int)*10이 나오지만, int* pa = a라고 하고, sizeof(pa)를 하면 sizeof(int*)가 나올뿐
이중포인터는 포인터를 가리키는 포인터이고, 삼중포인터는 포인터를 가리키는 포인터의 포인터인것이지 특별한 무언가는 아님
+
컴 파 일 러 - dc App