0
크기 1의 배열을 선언하고 그 안에 5 개의 요소를 저장 한 다음 검색 할 수 있습니까?배열 크기가 no.
내가 배열 arr[1]
을 선언 한 다음 그 안에 5 개의 요소를 저장 한 코드를 하나 시도해 보겠습니다. 실제로 5 가지 요소를 저장할 수있었습니다! 그거 어땠어? 이 C (또는 C++), 당신은 아주 쉽게 배열보다 더 많은 요소를 저장할 수있는 경우
크기 1의 배열을 선언하고 그 안에 5 개의 요소를 저장 한 다음 검색 할 수 있습니까?배열 크기가 no.
내가 배열 arr[1]
을 선언 한 다음 그 안에 5 개의 요소를 저장 한 코드를 하나 시도해 보겠습니다. 실제로 5 가지 요소를 저장할 수있었습니다! 그거 어땠어? 이 C (또는 C++), 당신은 아주 쉽게 배열보다 더 많은 요소를 저장할 수있는 경우
맞는 크기 :
#include <stdio.h>
int main (void) {
int x = 0;
int a[1]; // so that a[0] is the only valid element
a[1] = 7; // write beyond end of array
printf ("x=%d, &a[0]=%p, &a[1]=%p, &x=%p\n", x, &(a[0]), &(a[1]), &x);
return 1;
}
은 이렇게하지만, 아마
다른을 덮어 정의되지 않은 동작에 이르게 정보의 조각, 그리고 정말 좋은 생각이 아닙니다. 내 시스템에서
, 인쇄 위의 그 코드 :
x=7, &a[0]=0xbf9bb638, &a[1]=0xbf9bb63c, &x=0xbf9bb63c
내가 제로로 x
를 설정하고 명시 적으로 변경 결코 사실에도 불구하고. 이는 어레이의 끝을 넘어 서면 쓰기에 영향을 미치기 때문입니다 (a[1]
과 x
에 대한 두 개의 동일한 주소에서 알 수 있듯이).
프로그래밍 언어는 무엇입니까? –
프로그래밍 언어에 따라 다릅니다. 그래서 확실한 대답을 드릴 수 없습니다. –
나는 그가 C에 대해 이야기하고 있다고 생각한다. – Surya