인프런 커뮤니티 질문&답변

활성산소님의 프로필 이미지
활성산소

작성한 질문수

홍정모의 따라하며 배우는 C언어

10.15 포인터의 호환성

8:16초 1차 포인터와 2차원 배열 호환

작성

·

152

0

10.16강 코드를 혼자 짜보다가 실수로 1차 포인터와 2차 배열을 같이 놨는데 호환이 되더라구요?

int main()
{
	int arr[3][4] = { {1,2,3,4}, {5,6,7,8},{9,10,11,12}};
	int* ptr;
	ptr = arr;

	printf("%d \n", sum2d_2(ptr,ROW, COL)); //78
	printf("%d", *(ptr+1)); //2
}

warning 도 안 뜨고 값도 잘 나오는데 왜 이런거죠?

답변 2

0

활성산소님의 프로필 이미지
활성산소
질문자

저 코드에서 본 강의대로라면 에러가 떠야하잖아요,,,같이 놨다는 건 호환시키려고 1차 포인터에 2차배열을 위코드처럼 대입?시켜봤다는 건데 정확하게 뭐라 해야하는지 모르겠네요. 위 코드는 그럼 잘못된 게 없다는 건가요? 본 강의에선 경고가 떴던 기억이 있어 질문드렸습니다.

0

홍정모님의 프로필 이미지
홍정모
지식공유자

'같이 놨다'는 것이 어떤 의미인지를 모르겠네요.

2차원 배열도 메모리에는 1차원 구조로 저장됩니다.

활성산소님의 프로필 이미지
활성산소

작성한 질문수

질문하기