게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 malloc으로 할당된 포인터에 대한 접근 질문
게시물ID : programmer_10970짧은주소 복사하기
작성자 : 첫아이디
추천 : 0
조회수 : 507회
댓글수 : 2개
등록시간 : 2015/06/07 18:00:20
옵션
  • 본인삭제금지
인터넷에서 찾은 예제 코드를 분석하고 있는데 도무지 이해를 할 수 없어서 질문합니다.


먼저 main 함수에서 선언, 초기화된 변수들은 다음과 같습니다.
int N;
int *col;

N = 4;
col = (int *)malloc(N * sizeof(int));


여기서 보면 일차원 포인터 col에 대해 접근 가능한 인덱스는 0~3으로 총 4개 아닌가요?
제가 이걸 왜 물어보냐 이유는 다른 함수에서 col[4]에 접근했기 때문입니다.
i = 3;
col[i+1] = 2;

이 코드를 보면 col[4] = 2;로 볼 수 있는건데
이 코드가 정상적으로 수행되는게 이해가 안가서 질문합니다...

N이 4이고 N만큼 할당해줬기 때문에 col[3]까지밖에 접근할 수 없는거 아닌가요?


출처 아몰랑
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호