선언한 배열길이보다 값이 커도 데이터가 잘 들어가는건가요? 예제소스
물병자리
질문 제목 : 선언한 배열길이보다 값이 커도 데이터가 잘 들어가는건가요?
아래 소스에서 보면 m_Data 배열의 길이를 100으로 설정하고
m_Data에 값을 넣어주고 있는데요
배열의 길이는 100인데 150까지 데이터를 넣어보고 테스트를 해봤습니다.
90이후 부터 결과값 찍어봤는데요
91:91
92:92
...
...
149:149
결과가 149까지 다찍어서 나오더라구요
제가 선언한 배열의 길이는 100인데
150의 길이까지 데이터가 들어갈수 있는건가요?
gcc 로 컴파일했습니다.
#include stdio.h
intm_Data[100];
int main()
{
int nCnt = 0;
int i;
for(i=0; i150; i++)
{
m_Data[nCnt] = nCnt;
if(nCnt 90)
printf(%d:%d\n,nCnt, m_Data[nCnt]);
nCnt++;
}
return 0;
}
-
김애교
C언어는 배열체크를 하지 않습니다.
10개로 만들고 1000바이트를 넣어도 에러가 나오지 않죠.
프로그래머가 알아서 체크해줘야합니다. -
뱐헀어
C의 단점이자 장점입니다.
프로그래머가 올바르게 쓰는 수 밖에 없습니다. -
달
[i] 연산자는 배열의 크기를 채크하지 않습니다.
배열에만 쓰이는 연산자가 아니거든요. 어찌 보면 배열하고 상관이 없습니다.
A[B] 는 그냥 *(A+B) 와 같아요. A,B 의 위치는 바뀌어도 되구요.
m_Data[nCnt] 나 nCnt[m_Data] 나 같아요. -
예린
101 102....번째 메모리위치에 일단 써지고 읽혀지긴할껍니다.
나중에 어떠한 메모리를 할당하고 쓰는 과정에서 100 메모리 이후에 메모리에 덮혀써지고 지워지고 하는과정에서 왜그런지 알수도없는 버그들이 나타나고 지옥을 맞보게 될수도있죠. -
2gether
나중에 엄청난 고통을 받으실수도있습니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2652801 | 안좋은 코딩 습관 지적좀요. | Addictive | 2024-04-25 |
2652779 | 문자열의 주소값 출력에 대해서 질문드립니다. | 핑크펄 | 2024-04-25 |
2652748 | 좀 도와주세요 ㅠ | 연체리 | 2024-04-25 |
2652719 | 다음프로그램의 실행결과를 알아보자.. (6) | 분홍이 | 2024-04-25 |
2652641 | 소인수프로그램 오류 (1) | 모람 | 2024-04-24 |
2652555 | 다이아 몬드 설명좀 부탁드립니다 | 갈기슭 | 2024-04-23 |
2652529 | 반복문을 .... (1) | 우시 | 2024-04-23 |
2652417 | 방향키로 커서이동 | 목소리 | 2024-04-22 |
2652339 | 구조체끼리 연결 왜 안될까요? (1) | 도담 | 2024-04-21 |
2652315 | 제발 도와주세요(실행파일까지첨부) | 은소라 | 2024-04-21 |
2652285 | 면산적님 질문요 (1) | 세찬 | 2024-04-21 |
2652253 | 다중루프를 이용한 이등변 삼각형 만들기 질문이요. | 알프레드 | 2024-04-20 |
2652226 | 결과 값이 무조건0 으로 나옵니다...... (5) | 빗줄기 | 2024-04-20 |
2652198 | 연결 list 질문요~ | Sweeety | 2024-04-20 |
2652168 | 배열 정렬에서.. (6) | 비 | 2024-04-20 |
2652137 | scanf에서 나는 의문점입니다 (2) | 말글 | 2024-04-19 |
2652084 | timeGetTime질문이요 | 환찬 | 2024-04-19 |
2652058 | 포인터의 기본적인 질문입니다! (3) | 해뜰참 | 2024-04-19 |
2652031 | 더블포인터.... (1) | 눈 | 2024-04-18 |
2652003 | bmp 파일 이미지 축소와 픽셀 줄이기 코드짜는법!!! (1) | PinkPearl | 2024-04-18 |